public class QuickSort {
public static void quickSort(int arr[],int _left,int _right){
int left = _left;
int right = _right;
int temp = 0;
//待排序的元素至少有两个的情况
if(left <= right){
//待排序的第一个元素作为基准元素
temp = arr[left];
//从左右两边交替扫描,直到left = right
while(left != right){
while(right > left && arr[right] >= temp)
//从右往左扫描,找到第一个比基准元素小的元素
right --;
//找到这种元素arr[right]后与arr[left]交换
arr[left] = arr[right];
while(left < right && arr[left] <= temp)
//从左往右扫描,找到第一个比基准元素大的元素
left ++;
//找到这种元素arr[left]后,与arr[right]交换
arr[right] = arr[left];
}
//基准元素归位
arr[right] = temp;
//对基准元素左边的元素进行递归排序
quickSort(arr,_left,left-1);
//对基准元素右边的进行递归排序
quickSort(arr, right+1,_right);
}
}
public static void main(String[] args) {
int array[] = {10,5,3,1,7,2,8};
System.out.println("排序之前:");
for(int element : array){
System.out.print(element+" ");
}
quickSort(array,0,array.length-1);
System.out.println("\n排序之后:");
for(int element : array){
System.out.print(element+" ");
}
}
}
无标题文章
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。