剑指offer第二版-总结:排序算法
2024-08-31 06:11:37
1.排序算法比较:
2.java实现
快排:
/**
* 快排
*
* @since 2019年2月26日 下午1:37:34
* @author xuchao
*/
public class QuickSoft { public static void quickSoft(int[] data,int start,int end) {
if(start>=end) {
return;
}
int m = quickSoftPartition(data, start, end);
quickSoft(data, start, m - 1);
quickSoft(data, m + 1, end);
} public static int quickSoftPartition(int[] data, int start, int end) { int base = data[start];
int i = start, j = end;
while (i < j) {
while (i < j && data[j] >= base) {
j--;
}
while(i<j&& data[i]<=base) {
i++;
}
if(i<j) {
int t = data[i];
data[i] = data[j];
data[j] = t;
}
}
data[start] = data[j];
data[j] = base;
return j;
} public static void main(String[] args) {
int[] data = { 5, 4, 3, 1, 2 };
quickSoft(data, 0, data.length - 1);
System.out.println(Arrays.toString(data));
}
}
最新文章
- Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示
- 一文搞懂HMM(隐马尔可夫模型)
- Mongodb基本数据类型、常用命令之增加、更新、删除
- [置顶]PADS PCB功能使用技巧系列之NO.002- 如何走差分线?
- 面向服务架构(SOA)和企业服务总线(ESB)
- 让你的CI跑起来-《持续集成》读书总结
- pip报ssl错误解决
- SharePoint 2013的100个新功能之社交
- CodeForces 589J Cleaner Robot (DFS,或BFS)
- Citect:How do I translate Citect error messages?
- Xcode8和iOS10的适配问题
- 使用EPEL和REMI第三方yum源
- [Android] 混音器AudioMixer
- @Transactional失效的问题
- Java代码审查工具findbugs的使用总结
- ansible批量自动安装LNMP
- java.net.UnknownHostException: lc001 未知的网络服务
- java开发支付宝支付详细流程_demo的运行
- HDU 1541 STAR(树状数组)
- 单因素方差分析的SAS实现