排序演算法(C實現) 簡單選擇排序

2021-06-25 12:09:24 字數 555 閱讀 3792

選擇排序的基本思想是:每一趟在n-i (i = 0,1,2,....,n-2)個記錄中選取關鍵字最小的記錄作為有序列序列中第i個記錄。其中最簡單且最熟悉的是簡單選擇排序。

一趟簡單選擇排序的操作為:通過n-i次關鍵字之間的比較,從n-i個記錄中選出關鍵字最小的記錄,並和第i個記錄交換。

主要步驟:

1.  求出n-i個關鍵字中最小的記錄。

2.  將該最小的記錄與當前第i個記錄交換

//從記錄中選擇出最小元素的位置

int selectminkey(elemtype array,int i,int length)

} return minloc;

}//直接選擇排序

void select_sort(elemtype array,int length) }

}

容易看出,簡單選擇排序過程中,所需進行記錄移動的操作次數較少,其最小值為「0」,最大值為3(n-1)。然而,無論記錄的初始排列如何,所需進行關鍵字之間的比較次數相同,均為n(n-1)/2,因此,總的時間複雜度也是o(n2)

排序演算法 選擇排序 簡單選擇排序

package 選擇排序 簡單選擇排序 不穩定 基本思想 在要排序的一組數中,選出最小的乙個數與第乙個位置的數交換 然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後乙個數比較為止。public class 簡單選擇排序 system.out.println 排序之前 f...

排序演算法 簡單選擇排序

簡單選擇排序是一種選擇排序。1.簡單選擇排序的定義 每趟從待排序的記錄中選出關鍵字最小的記錄,順序放在已排序的記錄序列末尾,直到全部排序結束為止。2.簡單選擇排序的流程 例項 注 紅色數字是位置發生變化的數值。3.簡單選擇排序的 實現 public class selectsort 若min有變化,...

排序演算法 簡單選擇排序

簡單選擇排序法就是通過n i次關鍵字比較,找到最小的關鍵字下標,最後在替換n i下標和最小下標的值。簡單排序的思想和氣泡排序的思想的區別是氣泡排序是相鄰關鍵字兩兩比較,如果小,則直接替換,可能在一輪迴圈會進行多次值交換。而簡單選擇排序法是一輪迴圈找到最小關鍵字下標,最後進行最多一次替換。public...