基础算法系列 之快速排序

快速排序和冒泡排序一样,也是交换排序的一种。
快速排序的准则就是“找基准数,大小分开;分而治之,递归使用”。基本代码如下:

public static void quickSort(int[]arr,int start,int end){
    
    
	if(start < end){
    
    
		int stard = arr[start];		//找到基准数
		int low = start;		//定义排序下标和上标
		int high = end;
		while(low < high){
    
    
			while(low < high && stard <= arr[high]){
    
    
   				high--;
 			 }
 			 arr[low] = arr[high];
 			while(low < high && stard >= arr[low]){
    
    
     				low++;
  			 }
   			 arr[high] = arr[low];
   		}
   		arr[low] = stard;		//第一轮排序结束
   		quickSort(arr,start,low);	//递归调用
   		quickSort(arr,low+1,end);
	}
}

	

猜你喜欢

转载自blog.csdn.net/langxiaolin/article/details/112059033