快排java實現
public class Sort {
public static void main(String[] args) {
int a[]={1,4,54,6,76,87,889,6,87,5};
partition(a, 0, 9);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
public static void partition(int a[],int left, int right){
if(left<right){
int t=a[left];
int i=left,j=right;
while(i<j){
while(j>i&&a[j]>=t){
j--;
}
a[i]=a[j];
while(i<j&&a[i]<=t){
i++;
}
a[j]=a[i];
}
a[i]=t;
partition(a,left,i-1);
partition(a,i+1,right);
}
}
}
public static void main(String[] args) {
int a[]={1,4,54,6,76,87,889,6,87,5};
partition(a, 0, 9);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
public static void partition(int a[],int left, int right){
if(left<right){
int t=a[left];
int i=left,j=right;
while(i<j){
while(j>i&&a[j]>=t){
j--;
}
a[i]=a[j];
while(i<j&&a[i]<=t){
i++;
}
a[j]=a[i];
}
a[i]=t;
partition(a,left,i-1);
partition(a,i+1,right);
}
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.