0
点赞
收藏
分享

微信扫一扫

java递归快排

冬冬_79d4 2022-03-14 阅读 56
public class QuickSort {
	/**
	* 快速排序
	* @param strDate
	* @param left
	* @param right
	*/
	public void quickSort(String[] strDate,int left,int right){
			String middle,tempDate;
			int i,j;
			i=left;
			j=right;
			middle=strDate[(i+j)/2];
			do{
				while(strDate[i].compareTo(middle)<0&& i<right)
					i++; //找出左边比中间值大的数
				while(strDate[j].compareTo(middle)>0&& j>left)
					j--; //找出右边比中间值小的数
				if(i<=j){ //将左边大的数和右边小的数进行替换 
					tempDate=strDate[i];
					strDate[i]=strDate[j];
					strDate[j]=tempDate;
					i++;
					j--;
				}
			}while(i<=j); //当两者交错时停止
	
			if(i<right){
				quickSort(strDate,i,right);//从
			}
			if(j>left){
				quickSort(strDate,left,j);
			}
	}

}
举报

相关推荐

0 条评论