快速排序法:(目前已知的排序法中最快的)
点击(此处)折叠或打开
- //3、快速排序法
- class Quick
- {
- public void sort(int arr[],int left,int right)
- {
- if(left<right)
- {
- int i=left;
- int j=right+1;
- while(true)
- {
- while(i+1<arr.length&&arr[++i]<arr[left]); //向右找
- while(j-1>=0&&arr[--j]>arr[left]); //向左找
- if(i>=j)
- break;
- swap(arr,i,j);
- }
- swap(arr,left,j);
- sort(arr,left,j-1); // 对左边进行返回
- sort(arr,j+1,right); //对右边进行返回
- }
- }
- public void swap(int arr[],int i,int j)
- {
- int t=arr[i];
- arr[i]=arr[j];
- arr[j]=t;
- }
- }