网站关键词优化推广,重庆市场所码图片,随州学做网站,杨和关键词优化快排的思路#xff1a;选定一个基准数#xff0c;要使得基数的左边的数字全部小于它#xff0c;右边的数字全部大于它。分别设i和j从左右开始寻找#xff0c;从左边找到第一个比基数大的数#xff0c;从右边找到第一个比基数小的数#xff0c;然后交换这两个数。
当i和j…快排的思路选定一个基准数要使得基数的左边的数字全部小于它右边的数字全部大于它。分别设i和j从左右开始寻找从左边找到第一个比基数大的数从右边找到第一个比基数小的数然后交换这两个数。
当i和j相遇时交换基数和i。再以同样的方式处理两边的数组。注意如果基数取的是a[0]那么一定是先从右边开始找因为搜索的停止条件除了找到比基数大或比基数小的数之外还有ij这个判断。因为最后基数a[0]要
和i交换位置而a[0]是在数组的最左边所以ij时这个位置上的数应该比a[0]小如果先从左边开始那么会造成这个数比a[0]大仔细想想就明白了 const quickSort (arr,s,e){if(arr.length1) return if(se) return let p arr[s] let i s let j e while(i!j){while(arr[j]pij){j-- }while(arr[i]pij){i }if(ij){let temp arr[i] arr[i] arr[j] arr[j] temp }}arr[s] arr[i] arr[i] p quickSort(arr,s,i-1) quickSort(arr,i 1,e) }var arr [6, 1, 2, 7, 9, 3, 4, 5, 10, 8]quickSort(arr,0,arr.length-1)console.log(arr) 更多专业前端知识请上
【猿2048】www.mk2048.com