public class Quicksort {
public static void main(String[] args) {
int[] ints= {12,3,6,7,8,5,8,5,9,56,89,4678,46,45};
sort(ints,0,ints.length-1);
for (int k = 0; k < ints.length; k++) {
System.out.print(ints[k]+",");
}
}
static void sort(int[] ints ,int s ,int e) {
if(s<e) {
int index=sortUnit(ints, s, e);
sort(ints,s,index-1);
sort(ints,index+1,e);
}
}
static int sortUnit(int[] ints ,int s ,int e) {
int i = s;
int j = e;
int num = ints[s];
while(i<j){
while(i<j) {
if(ints[j]<num) {
ints[i]=ints[j];
break;
}
j--;
}
while(i<j) {
if(ints[i]>=num) {
ints[j]=ints[i];
break;
}
i++;
}
}
ints[i]=num;
return i;
}
}
算法题6 快速排序
最新推荐文章于 2022-11-04 21:16:13 发布