成绩管理系统,改造排序功能

上一集:借着期末作业,写一个JavaWeb项目

快速排序,总分

参考:《算法导论》第七章

在这里手写了原始版的快速排序,双指针乃种方法,下次再研究。

刚开始用双指针乃种方法研究了一天,结果也没研究出来,然后看书,柳暗花明。

java 复制代码
private static void quickSort(List<Student>stus,int start,int end){
    if(start<end){
        int p=partition(stus,start,end);
        quickSort(stus,start,p-1);
        quickSort(stus,p+1,end);
    }
}
private static int partition(List<Student>stus,int start,int end){
    int pivot=stus.get(end).mark.sum;
    int i=start-1;
    for(int j=start;j<end;j++){
        if(stus.get(j).mark.sum>=pivot){
            i++;
            swap(stus,i,j);
        }
    }
    swap(stus,i+1,end);
    return i+1;
}

2023年12月19日20:12:20(其他排序方法,每天再来写)

相关推荐
执风挽^6 分钟前
Python基础编程题2
开发语言·python·算法·visual studio code
程序员泠零澪回家种桔子8 分钟前
Spring AI框架全方位详解
java·人工智能·后端·spring·ai·架构
Z9fish16 分钟前
sse哈工大C语言编程练习20
c语言·开发语言·算法
CodeCaptain17 分钟前
nacos-2.3.2-OEM与nacos3.1.x的差异分析
java·经验分享·nacos·springcloud
晓131321 分钟前
第六章 【C语言篇:结构体&位运算】 结构体、位运算全面解析
c语言·算法
iAkuya27 分钟前
(leetcode)力扣100 61分割回文串(回溯,动归)
算法·leetcode·职场和发展
梵刹古音30 分钟前
【C语言】 指针与数据结构操作
c语言·数据结构·算法
VT.馒头36 分钟前
【力扣】2695. 包装数组
前端·javascript·算法·leetcode·职场和发展·typescript
Anastasiozzzz1 小时前
Java Lambda 揭秘:从匿名内部类到底层原理的深度解析
java·开发语言
骇客野人1 小时前
通过脚本推送Docker镜像
java·docker·容器