日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

快速排序的改进

發布時間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 快速排序的改进 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package com.txq.test; /*** quicksort,三方面改進:①三數中值選擇樞紐元②容量小的時候使用插入排序③重復元素的處理* @author XueQiang Tong* @date 2017/10/25*/ public class QS {public void quicksort(int []arr,int low,int high){int first = low;int last = high;int left = low;int right = high;int leftLen = 0;int rightLen = 0;//當分割后的容量較小時,使用插入排序,提高性能if(high - low + 1 <= 10){InsertSort(arr,low,high);return;}int key = SelectPivotMedianOfThree(arr,low,high);while(low < high){while(high > low && arr[high] >= key){if(arr[high] == key){//重復元素處理策略:分割過程中把他們放在數組兩端,遞歸調用時掠過他們,提高性能swap(arr,high,right);right --;rightLen ++;}high --;}arr[low] = arr[high];//交換while(high > low && arr[low] <= key){if(arr[low] == key){swap(arr,low,left);left ++;leftLen ++;}low ++;}arr[high] = arr[low];//交換}arr[low] = key;//此時總是low = high,把key放在此位置,一次迭代完成,進入下次遞歸調用//接下來,把重復元素存儲到key的周圍int i = low - 1;int j = first;while(j < left && arr[i] != key){swap(arr,j,i);i --;j ++;}i = low + 1;j = last;while(j > right && arr[i] != key){swap(arr,j,i);i ++;j --;}quicksort(arr,first,low - leftLen - 1);quicksort(arr,low + rightLen + 1,last);}/*** low,mid,high,對三個數排序,arr[mid] <= arr[low] <= arr[high],取arr[low]作為樞紐元* @param arr* @param low* @param high* @return*/private int SelectPivotMedianOfThree(int[] arr, int low, int high) {int mid = low + ((high - low) >> 1);if(arr[mid] > arr[high]){swap(arr,mid,high);}if(arr[low] > arr[high]){swap(arr,low,high);}if(arr[low] < arr[mid]){swap(arr,low,mid);}return arr[low];}public void swap(int arr[],int i, int j) {int tmp;tmp = arr[i];arr[i] = arr[j];arr[j] = tmp; }/*** 插入排序* @param arr*/private void InsertSort(int[] arr,int low,int high) {int i,j;int n = high - low + 1;int target;for(i = low+1;i < low+n;i++){j = i;target = arr[i];while(j > low && target < arr[j-1]){arr[j] = arr[j-1];j--;}arr[j] = target;} } }

?

轉載于:https://www.cnblogs.com/txq157/p/7728236.html

總結

以上是生活随笔為你收集整理的快速排序的改进的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费av影片| 日本少妇久久久 | 亚洲不卡一区二区三区 | 国产免费毛卡片 | 国产日韩欧美中文 | 中国女人内谢69xxxxⅹ视频 | 三级免费毛片 | 中文字幕亚洲一区二区三区 | 精品一区二区三区在线观看视频 | 四虎色网 | 久久精品视频8 | 800av凹凸 | 免费av大全 | 肌肉猛男裸体gay网站免费 | 国产免费www | 色综合天天干 | 五月99久久婷婷国产综合亚洲 | 黄色视屏在线播放 | 亚洲黄色网络 | 另类小说久久 | 免费小视频 | 久久无码国产视频 | 成人伊人网 | 亚洲综人 | 96国产在线| 开心色婷婷 | 国产精品天天操 | 樱空桃在线 | 91成人免费在线观看 | 欧美粗暴jizz性欧美20 | 欧美一区二区三区成人久久片 | 性色av一区二区三区在线观看 | 美女天天干| 国产制服丝袜在线 | 欧美性猛交一区二区三区精品 | 国产一区二区三区免费在线观看 | 久久久久久久久久久av | 国产精品视频免费观看 | 天堂а√在线最新版中文在线 | 日韩黄网站 | 久久精品亚洲精品 | 偷偷操网站 | 国产特黄大片aaaa毛片 | 日韩成人激情视频 | 欧美三级午夜理伦三级老人 | 久久国产一级 | 亚洲国产情侣 | 久久99国产精品成人 | 欧美性猛交一区二区三区精品 | 天天色天 | www.97ai.com| 黄色aaaa | 久久精品国产亚洲AV熟女 | 亚洲男女一区二区三区 | 亚洲综合国产 | 亚洲欧洲综合av | 视频区小说区 | 中文字幕丰满乱子伦无码专区 | 国产亚洲精品成人无码精品网站 | 不卡av免费观看 | 成人av网址在线观看 | av在线你懂的| 久久精品23 | 一级肉体全黄裸片中国 | 假日游船| 中文av一区二区三区 | av在线等| 亚洲一区在线播放 | 成人亚洲玉足脚交系列 | 国产制服在线 | 玖玖伊人| 中文在线а√在线8 | 午夜啪啪网站 | 欧美一级录像 | 亚洲区 欧美区 | 嫩草在线观看 | 91中文在线| 国产区在线观看视频 | 国产激情av在线 | 婷婷久久久久久 | 国产污污在线观看 | 日批在线视频 | 午夜精品久久久内射近拍高清 | 另类综合网| 91亚洲国产成人精品一区二区三 | 国产一级一级 | 日日网站 | 91超碰免费 | 综合色综合 | 日本在线视频www | 另类图片亚洲色图 | 五月天久久久久久 | 91禁在线看| 在线看黄色的网站 | 亚欧美精品 | 国产精品不卡视频 | 国产精品111 | 久久久精品福利 | 蜜色视频|