快速排序

来源:互联网 发布:东风(十堰)整合优化 编辑:程序博客网 时间:2024/04/19 10:52
package kuaisu;import java.util.Arrays;public class Demo {public static void main(String []args){int []arr={3,566,87,237,87,2,47,7};sort(arr,0,arr.length-1);System.out.println(Arrays.toString(arr));}private static void sort(int[] arr, int start, int end) { int i=start; int j=end; if((arr==null)||(arr.length==0)){ return ; } while(i<j){ while(i<j&&(arr[i]<=arr[j])){ j--;//从j开始,向左扫描,找到一个比arr[i]小的 } if(i<j){ // 如果有 则,交换数据 int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; }  while(i<j&&(arr[i]<arr[j])){ i++;//从i开始,向右扫描,找到一个比arr[i]大的 } if(i<j){ // 如果有 则,交换数据 int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } }//while if(i-start>1){ sort(arr,start, i-1); } if(end-i>1){ sort(arr,i+1,end); }}}

0 0
原创粉丝点击