目标:掌握快排和java中的快排函数 快排的核心思想: 事实上、在java的api中就有写好的快排,手写快排主要运用在面试中
1. 快排
// 参数解释: // 1. int[] arr 需要排序的数组 // 2. int l 排序的左端点 // 3. int r 排序的右端点 // 举例: 你要排序一个 int[] arr = {1,5,3,2,6} 数组内全部要排序,l=0,r=arr.length-1 public static void quickSort(int[] arr, int l, int r) { //递归结束 条件 if(l>=r) return; //1. 确定分界点 int p = arr[l]; //我们取左端点 //确定边界 +1-1是应为我们使用的do-while,开始前就会i++和j-- int i = l-1; int j = r+1; //2. 调整区间 while(i < j){ do{ i++; }while(arr[i] < p); //记得分号; do{ j--; }while(arr[j] > p); //找到两个不符合定义的点,即左边找到一个比分界点大的,右边找到一个比分界点小的 //交换 if(i < j){ //别忘了,很关键,两个指针还没有重合或穿过 int tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; } } //3. 递归处理 quickSort(arr, l, j); quickSort(arr, j+1, r); //此处为了边界不出问题,我们边界点一开始取q[l],那么递归的时候就l~j 和 j+1~r //这样就不会出现边界问题 }
2. Arrays.sort
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算