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

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

相关推荐
aXin_ya1 分钟前
微服务 第一天
java·运维·微服务
无限进步_3 分钟前
【C++】私有虚函数与多态:访问权限不影响动态绑定
开发语言·c++·ide·windows·git·算法·visual studio
8Qi85 分钟前
Elasticsearch 初识篇:核心概念与环境搭建
java·大数据·分布式·elasticsearch·搜索引擎·中间件
君鼎7 分钟前
C++20 新特性全面总结
算法·c++20
枫叶机关录13 分钟前
算法笔记:K-means、K-means++与K-Medoids聚类算法--详解、案例分析
算法·聚类·k-means
消失的旧时光-194316 分钟前
Spring 核心思想解析:IoC 与 DI 一文讲透(从入门到工程理解)
java·ioc·di
贾斯汀玛尔斯18 分钟前
每天学一个算法-- 归并排序(Merge Sort)
数据结构·算法·排序算法
小梁努力敲代码19 分钟前
抽奖系统-测试报告
java·功能测试
算法鑫探19 分钟前
算法中的二分法(二分查找)详解及示例
c语言·数据结构·算法·新人首发
叶子野格31 分钟前
《C语言学习:编程例题》8
c语言·开发语言·c++·学习·算法·visual studio