最新亚洲人成无码网站,夜夜操夜夜操夜夜爽,中文字日产幕乱五区,在线成人看片黄a免费看,亚洲自偷自拍另类11p

首頁 >> 綜合問答 >

選擇法排序過程(選擇法)

2023-03-04 02:00:31 來源: 用戶: 

大家好,小訊來為大家解答以上的問題。選擇法排序過程,選擇法這個很多人還不知道,現(xiàn)在讓我們一起來看看吧!

1、// 我把你的程序修改了下,添加了些注釋,你應該會看明白滴// sort(int *, int)函數(shù)是由大到小的排序方法。

2、采用的算法// 是第一次從x[0]...x[4]中選出個最大的數(shù),然后記錄下它的索引,// 如果第一個數(shù)不是最大的,就把第一個數(shù)和最大數(shù)進行交換,使得// x[0]是五個書中的最大數(shù),第二次就從x[1]...x[4]中選一個最大的// 然后把它放在x[1]的位置上。

3、5個數(shù),其實只需要四次就可以排好序滴void sort(int *x,int n){ // i,j都是循環(huán)變量temp是用于交換的臨時變量,max是用于記錄每一趟循環(huán) // 中找到的最大值的下標。

4、我這里的temp對應你原理的t,max對應你原來的k int i, j, temp, max; // 1.外層的for循環(huán)用于控制查找的趟數(shù),n個數(shù)排序,只需要n-1趟排序就可以滴 // 2.你原來是 i<=n-1其實可以改為i

5、 // 3.比如 1 2 3 這三個數(shù)排序,你可以先 假設第一個數(shù)即1是最大的,然后讓1與第二個 // 4.數(shù)進行比較即1與2比較1 < 2你記下2對應的下標,再讓2與第三個數(shù)比較2 < 3再記下 // 5. 3的下標所以3是最大的數(shù)字把3放到1的位置,把1放到3的位置,即交換位置。

6、 // 6.經(jīng)過一次排序后變?yōu)? 1 2 第二次再排1 與2先假設1是1與2中最大的1<2記下2的下標 // 7.交換1,2位置變?yōu)? 1 所以3個數(shù)進過兩趟排序后已經(jīng)變?yōu)橛行蛄思? 2 1// N個數(shù)只需N-1趟循環(huán)便可有序,外層循環(huán)用于控制循環(huán)趟數(shù) for(i=0; i x[max]) max = j; } // 看第i趟循環(huán)中看x[i]是不是最大值如果是就不需要交換了 // 你也可以改為 if (x[i] < x[max]){交換兩個數(shù)} if(i!=max) { temp = x[i]; x[i] = x[max]; x[max] = temp; } } }。

本文到此分享完畢,希望對大家有所幫助。

  免責聲明:本文由用戶上傳,與本網(wǎng)站立場無關。財經(jīng)信息僅供讀者參考,并不構成投資建議。投資者據(jù)此操作,風險自擔。 如有侵權請聯(lián)系刪除!

 
分享:
最新文章