首页 > 代码库 > quickSort
quickSort
1 package POJ; 2 3 public class Main { 4 5 /** 6 * 7 * QuickSort 8 * 9 */10 public static void main(String[] args) {11 Main so = new Main();12 int[] list = { 6, 4, 2, 3, 1, 5, 10, 4, 9, 8, 11, 7 }; 13 int[] result=so.quickSort(list, 0, 11);14 for(int i:result)15 System.out.println(i);16 } 17 public int[] quickSort(int[] list,int left,int right){18 int index=partition(list,left,right);19 if(left<index-1){20 quickSort(list, left, index-1);21 }22 if(index<right){23 quickSort(list, index, right);24 }25 return list;26 }27 private int partition(int[] list, int left, int right) {28 // TODO Auto-generated method stub29 int pivot=list[(left+right)/2];30 while(left<=right){31 while(list[left]<pivot)32 left++;33 while(list[right]>pivot)34 right--;35 if(left<=right){36 swap(list,left,right);37 left++;38 right--;39 }40 }41 return left;42 }43 private void swap(int[] list, int left, int right) {44 // TODO Auto-generated method stub45 int temp=list[left];46 list[left]=list[right];47 list[right]=temp;48 }49 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。