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

上一集:借着期末作业,写一个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(其他排序方法,每天再来写)

相关推荐
jiayong235 分钟前
知识库概念与核心价值01
java·人工智能·spring·知识库
智者知已应修善业8 分钟前
【求等差数列个数/无序获取最大最小次大次小】2024-3-8
c语言·c++·经验分享·笔记·算法
皮皮林55118 分钟前
告别 OOM:EasyExcel 百万数据导出最佳实践(附开箱即用增强工具类)
java
LYFlied26 分钟前
【每日算法】LeetCode 416. 分割等和子集(动态规划)
数据结构·算法·leetcode·职场和发展·动态规划
多米Domi0111 小时前
0x3f 第19天 javase黑马81-87 ,三更1-23 hot100子串
python·算法·leetcode·散列表
Da Da 泓1 小时前
多线程(七)【线程池】
java·开发语言·线程池·多线程
历程里程碑1 小时前
滑动窗口最大值:单调队列高效解法
数据结构·算法·leetcode
To Be Clean Coder1 小时前
【Spring源码】getBean源码实战(三)
java·mysql·spring
量子炒饭大师1 小时前
Cyber骇客的逻辑节点美学 ——【初阶数据结构与算法】二叉树
c语言·数据结构·c++·链表·排序算法
Wokoo71 小时前
开发者AI大模型学习与接入指南
java·人工智能·学习·架构