選擇排序

選擇排序 升序

基本思想:
對于N記錄的序列,讓第1個記錄和其余 N-1個記錄進(jìn)行比較,選擇其中最小的數(shù)值與第1個記錄交換位置,

然后 讓第2個記錄和其余 N-2個記錄進(jìn)行比較,選擇其中最小的數(shù)值與第2個記錄交換位置

然后 讓第3個記錄和其余 N-3個記錄進(jìn)行比較,選擇其中最小的數(shù)值與第3個記錄交換位置。

一直到讓第N-1個記錄和其余 1個記錄進(jìn)行比較,選擇其中最小的數(shù)值與第N-1個記錄交換位置

void selectSort(long a[],long n){
   
   long temp  = 0;
   
   for ( long i = 0; i< n-1; i++) {
       
       for (long j=i+1; j < n; j++) {//當(dāng)i= 0是,a[0]將會與a[1]~a[n-1]進(jìn)行比較
           
           if (a[j] <  a[i]) {
               
               temp =a[i];
               
               a[i] = a[j];
               
               a[j] = temp;
               
           }
       }
   }
}

最好的情況下時間復(fù)雜度O(n);
平均時間復(fù)雜度O(n^2);
最壞的情況下的時間復(fù)雜度O(n^2)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容