欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

C語言中快速排序法如何使用-創(chuàng)新互聯(lián)

這篇文章運用簡單易懂的例子給大家介紹C語言中快速排序法如何使用,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

成都創(chuàng)新互聯(lián)公司是一家成都網(wǎng)站建設(shè)、成都網(wǎng)站制作,提供網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,網(wǎng)站制作,建網(wǎng)站,按需求定制開發(fā),網(wǎng)站開發(fā)公司,從2013年開始是互聯(lián)行業(yè)建設(shè)者,服務(wù)者。以提升客戶品牌價值為核心業(yè)務(wù),全程參與項目的網(wǎng)站策劃設(shè)計制作,前端開發(fā),后臺程序制作以及后期項目運營并提出專業(yè)建議和思路。

快速排序法的排法:首先每次排序的時候設(shè)置一個基準(zhǔn)點,將小于等于基準(zhǔn)點的數(shù)全部放到基準(zhǔn)點的左邊;然后將大于等于基準(zhǔn)點的數(shù)全部放到基準(zhǔn)點的右邊;最后在每次交換的時候就不會像冒泡排序一樣每次只能在相鄰的數(shù)之間進(jìn)行交換,交換的距離就大的多了。

快速排序法的排法:

算法思想:

(1)  我們從待排序的記錄序列中選取一個記錄(通常第一個)作為基準(zhǔn)元素(稱為key)key=arr[left],然后設(shè)置兩個變量,left指向數(shù)列的最左部,right指向數(shù)據(jù)的最右部。

C語言中快速排序法如何使用

(2)  key首先與arr[right]進(jìn)行比較,如果arr[right]<key,則arr[left]=arr[right]將這個比key小的數(shù)放到左邊去,如果arr[right]>key則我們只需要將right--,right--之后,再拿arr[right]與key進(jìn)行比較,直到arr[right]<key交換元素為止。

C語言中快速排序法如何使用

(3)  如果右邊存在arr[right]<key的情況,將arr[left]=arr[right],接下來,將轉(zhuǎn)向left端,拿arr[left ]與key進(jìn)行比較,如果arr[left]>key,則將arr[right]=arr[left],如果arr[left]<key,則只需要將left++,然后再進(jìn)行arr[left]與key的比較。

C語言中快速排序法如何使用

(4)  然后再移動right重復(fù)上述步驟

C語言中快速排序法如何使用

(5)  最后得到 {23 58 13 10 57 62} 65 {106 78 95 85},再對左子數(shù)列與右子數(shù)列進(jìn)行同樣的操作。最終得到一個有序的數(shù)列。

C語言中快速排序法如何使用

算法實現(xiàn):

public class QuickSort {
 
   public static void quickSort(int [] arr,int left,int right) {
      int pivot=0;
      if(left<right) {
         pivot=partition(arr,left,right);
         quickSort(arr,left,pivot-1);
         quickSort(arr,pivot+1,right);
      }
   }
 
   private static int partition(int[] arr,int left,int right) {
      int key=arr[left];
      while(left<right) {
         while(left<right && arr[right]>=key) {
            right--;
         }
         arr[left]=arr[right];
         while(left<right && arr[left]<=key) {
            left++;
         }
         arr[right]=arr[left];
      }
      arr[left]=key;
      return left;
   }
  
   public static void main(String[] args) {
      int arr[]= {65,58,95,10,57,62,13,106,78,23,85};
      System.out.println("排序前:"+Arrays.toString(arr));
      quickSort(arr,0,arr.length-1);
      System.out.println("排序后:"+Arrays.toString(arr));
   }
}
排序前:[65, 58, 95, 10, 57, 62, 13, 106, 78, 23, 85]
排序后:[10, 13, 23, 57, 58, 62, 65, 78, 85, 95, 106]

關(guān)于C語言中快速排序法如何使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

文章名稱:C語言中快速排序法如何使用-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://aaarwkj.com/article46/icjeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、響應(yīng)式網(wǎng)站、網(wǎng)站改版域名注冊

廣告

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

成都定制網(wǎng)站網(wǎng)頁設(shè)計
久草视频在线免费资源站| 亚洲国产欧美日韩久久| 手机在线看国产后入| 日本熟女肥臀一区二区| 97在线观看视频在线观看| 性生活视性生活大片日本| 国产精品亚洲av在线| 国产欧美一区二区另类精品| 成人黄色小视频下载| 国产亚洲欧美精品久久久久久| 男女真人啪啪视频免费| 最新中文字幕成人在线观看| 蜜臀av成人精品蜜臀av| 最新91精品手机国产在线| 日本国产在线一区二区| 国产成人在线免费短视频| 免费97久久人妻一区精品| 亚洲美女毛茸茸的逼逼| 免费视频观看在线一区二区三区| 日韩欧美亚洲另类激情一区| 91一区二区三区在线| 免费特黄特黄的欧美大片| 高颜值紧身牛仔裤国产精品| 欧美日韩国产成人激情| 黑丝美女大战白丝美女| 亚洲激情自拍偷拍视频| 一区二区三区欧美日韩| 女人的天堂啪啪啪av| 首页亚洲一区二区三区| 精品人妻aⅴ一区二区| 日本免费高清一区二区| 国产女主播精品视频一区| 视频二区国产欧美日韩| 91欧美精品一区二区| 日韩人妻有码中文字幕 | 精品国产一区二区三区大| 色综合一区二区日本韩国亚洲| 极品人妻少妇精品一区二区| 91熟女激情五月综合| 欧美日韩亚洲高清专区| 欧美一区二区亚洲天堂|