快速排序反复练习
来源:互联网 发布:python库大全 编辑:程序博客网 时间:2024/04/28 10:00
对于快排的原理我就不在这里阐述的,这些原理在网上或书上都有,我只在这里贴出自己的代码,并写出自己不断练习中一直容易犯晕的地方
public class QuickSort {public static void main(String[] args) { int[] arr={5,3,9,4,0,12,454,-1};for(int a:arr){System.out.print(a+"\t");}System.out.println();sort(arr,0,arr.length-1);for(int a:arr){System.out.print(a+"\t");}}sc.close();}public static void sort(int[] arr,int start,int end){if(start<end){//之前经常纠结为什么要start<end,而不是<=,后来才明白过来,//当为=时,就只有一个元素还排什么序啊,int middle=getMiddle(arr,start,end);sort(arr,start,middle-1);sort(arr,middle+1,end);}}/** * 下面的就是要找出每次快排的分割位置,之后就可以进行分治操作了 */public static int getMiddle(int[] arr,int start,int end){int temp=arr[start];while(start<end){while(start<end && arr[end]>=temp){end--;}arr[start]=arr[end];while(start<end && arr[start]<=temp){start++;}arr[end]=arr[start];}arr[start]=temp;return start;}}
0 0
- 快速排序反复练习
- 数据结构练习:快速排序
- 编程练习:快速排序
- 算法练习-快速排序
- Kotlin练习-快速排序
- Scala练习-快速排序
- 快速排序小练习
- 代码练习:基本快速排序
- 练习——快速排序
- 冒泡排序和快速排序算法练习
- Java排序算法--快速排序(练习)
- 基础练习 数列排序 (快速排序法)
- 普及练习场 排序 【模板】快速排序
- 算法练习-NOJ-1003-快速排序
- 算法练习——快速排序
- 快速排序和二分查找的练习
- 算法练习之——快速排序
- 排序小练习(桶,冒泡,快速)
- 定义数组大小
- Android中shape的使用
- RMI 1.2 实现
- 让IE支持H5
- css 鼠标悬停事件
- 快速排序反复练习
- Java多线程编程-BlockingQueue
- 自定义下拉刷新控件-CBStoreHouseRefreshControl
- 【Leetcode】Sort Colors in JAVA
- Leetcode_28_Implement strStr
- RMI 1.3 调用
- 水池数目(nyoj27)(BFS)
- 第十二周 项目4-数组的排序
- 第十二周项目4:银行系统