欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C++如何實(shí)現(xiàn)快速排序算法-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了C++如何實(shí)現(xiàn)快速排序算法,內(nèi)容簡(jiǎn)而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會(huì)有收獲的,下面讓小編帶大家一起來(lái)看看吧。

成都創(chuàng)新互聯(lián)是專業(yè)的雁塔網(wǎng)站建設(shè)公司,雁塔接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行雁塔網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

一、基本思想是:

通過(guò)一趟排序?qū)⒁判虻臄?shù)據(jù)分割成獨(dú)立的兩部分,其中一部分的所有數(shù)據(jù)都比另外一部分的所有數(shù)據(jù)都要小,然后再按此方法對(duì)這兩部分?jǐn)?shù)據(jù)分別進(jìn)行快速排序,整個(gè)排序過(guò)程可以遞歸進(jìn)行,以此達(dá)到整個(gè)數(shù)據(jù)變成有序序列。

二、方法1實(shí)現(xiàn)程序:左右兩個(gè)方向掃描

// 快速排序:選第一個(gè)對(duì)象作為基準(zhǔn),按照該對(duì)象的排序碼大小,將整個(gè)對(duì)象
// 序列劃分為左右兩個(gè)字序列:
// 左側(cè)子序列中所有對(duì)象的排序碼都小于或等于基準(zhǔn)對(duì)象的排序碼;
// 右側(cè)子序列中所有對(duì)象的排序碼都大于基準(zhǔn)對(duì)象的排序碼;
// 基準(zhǔn)對(duì)象則排在這兩個(gè)子序列中間,這也是該對(duì)象最終應(yīng)放的位置
// 然后分別對(duì)這兩個(gè)子序列重復(fù)施行上述方法,直到所有的對(duì)象都排在相應(yīng)位置上為止
#include <iostream>
 
// 一次快速排序算法
int quickPass(int arr[], int low, int high) {
 int down, up, temp;
 
 down = low;
 up = high;
 temp = arr[low];
 while(down < up) {
  while((down < up) && arr[up] >= temp) // 從右向左掃描
   up--;
  if(down < up)
   arr[down++] = arr[up]; // 在被騰空出來(lái)的單元(由down指向)中填入arr[up]
  while((down < up) && arr[down] < temp) // 從左向右掃描
   down++;
  if(down < up)
   arr[up--] = arr[down]; // 在被騰空出來(lái)的單元(由up指向)中填入arr[down]
 }
 arr[down] = temp; // 最后把基準(zhǔn)插回到數(shù)組中間去
 return down;
}
 
// 快速排序算法
void quickSort(int arr[], int low, int high) {
 // 對(duì)序列arr[low]到arr[high]作快速排序
 int mid;
 
 if(low < high) {
  mid = quickPass(arr, low, high); // 對(duì)序列arr[low]到arr[high]作一趟快速排序
  quickSort(arr, low, mid-1); // 對(duì)左半部分作遞歸處理
  quickSort(arr, mid+1, high); // 對(duì)右半部分作遞歸處理
 }
}
 
int main(int argc, const char * argv[]) {
 // insert code here...
 int len, i;
 int arr[] = {40, 30, 60, 90, 70, 10, 20, 40};
 
 len = sizeof(arr) / sizeof(arr[0]);
 std::cout << "排序前:\n";
 for(i = 0; i < len; i++)
  std::cout << arr[i] << " ";
 std::cout << std::endl;
 
 quickSort(arr, 0, len-1); // 調(diào)用快速排序法
 
 std::cout << "排序后:\n";
 for(i = 0; i < len; i++)
  std::cout << arr[i] << " ";
 std::cout << std::endl;
 return 0;
}

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站chinadenli.net,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁(yè)標(biāo)題:C++如何實(shí)現(xiàn)快速排序算法-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)網(wǎng)址:http://chinadenli.net/article18/cdpsgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站排名、靜態(tài)網(wǎng)站、App開發(fā)做網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)