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

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

相关推荐
小bo波10 分钟前
Java Swing 可视化素数筛:动态演示 1~120 质数筛选【附完整源码】
java·算法·可视化·swing·素数
imDwAaY18 分钟前
贝叶斯网络到粒子滤波Python算法实现 CS188 Proj4 学习笔记
网络·人工智能·笔记·python·学习·算法
sleven fung20 分钟前
Whisper库
开发语言·人工智能·python·算法·ai·whisper
Black蜡笔小新30 分钟前
自动化AI算法训练服务器DLTM零代码私有化一站式AI训练平台技术解析
人工智能·算法·自动化
天若有情67338 分钟前
【C++趣味实战】仿写Burp代理逻辑!自定义可控迭代器:拦截Intercept/放行Forward/重放Repeater全实现
java·开发语言·c++
迷藏49439 分钟前
Python+DuckDB:轻量级BI流水线实战
java·开发语言·python·原型模式
磊 子42 分钟前
C++function与bind绑定器讲解
java·jvm·c++
咋吃都不胖lyh42 分钟前
短期记忆和长期记忆都存 MySQL
android·java·开发语言
浮游本尊1 小时前
前端vue转后端java学习路径
java·前端·vue.js
Mumu12181 小时前
P3212 [HNOI2011] 任务调度
算法