C快速排序算法代码实现
public static void main(String[] args) { int [] a= {1,3,5,7,9,2,4,6}; Sorts(a,a.length-1); for(int i=0;i System.out.print(a[i]+" "); } } public static void Sorts(int [] a,int start,int end) { int i,j,temp; if(start>end) { //起点终点相遇 return; } i=start; //起点(哨兵) j=end; //终点 temp=a[start]; while(i while(temp<=a[j]&&i j--; //获取到第一个小于哨兵的值 } while(temp>=a[i]&&i i++; //获取到第一个大于哨兵的值 } if(i int k=a[i]; a[i]=a[j]; a[j]=k; } a[start]=a[i]; //交换哨兵和中间值得位置 a[i]=temp; } Sorts(a,start,j-1); //递归重复执行 Sorts(a,j+1,end); //递归重复执行 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |