java快速排序法

来源:互联网 发布:幼儿园美工作品袋 编辑:程序博客网 时间:2024/06/05 22:58
public static int[] quit(int arr[],int left,int right){int t;if(left<right){int s=arr[left];int i=left;int j=right+1;while(true){//从左left位置向右right位置找大于s的索引while(i<arr.length&&arr[++i]<s);//从右right位置向左left位置找小于s的索引while(j>-1&&arr[--j]>s);//如果i>=j就退出if(i>=j){break;}else{//如果找到一个比s大,找到一个比s小的值,就相互调换t=arr[i];arr[i]=arr[j];arr[j]=t;}}arr[left]=arr[j];arr[j]=s;//查找到比left小的值的索引处进行分割,对左边进行递归quit(arr,left,j-1);//查找到比left小的值的索引处进行分割,对右边进行递归quit(arr,j+1,right);}return arr;}