比較:氣泡排序是通過不斷的比較來進行交換,最後完成了排序工作。
氣泡排序是一種頻繁操作的排序方法,那我們可不可以通過觀察一組資料,然後通過尋找乙個合適的關鍵字,希望只移動一次來完成相應的排序定位工作?
簡單選擇排序演算法描述:
void selectsort(sqlist *l)
if(i!=min)
swap(l,i,min);
}
說明:簡單選擇排序其實就是在不斷的比較,只是進行一次交換。對於一組資料來說,最開始的第乙個資料令它為最小值,然後在剩餘的n-1次資料中,尋找到最小值。在與最開始的第乙個值進行比較,如果當前給出的min就是最小的,則不進行交換。否則進行交換。所以始終進行了n-1次的比較,再從n-i+1個記錄中選出最小的關鍵字。簡單選擇排序演算法:
演算法思想:通過n-i次關鍵字之間的比較,從n-i+1個記錄中選出關鍵字最小的記錄,並和第i個記錄交換。
思想這種理論性的東西總是拗口和難理解的,我們還是通過例子來解釋:
實質:就是關鍵字進行比較,但資料交換只進行一次。
簡單選擇排序實現:
資料結構 簡單選擇排序
include include include include include include define maxsize 100 define elemtype int define status int using namespace std 順序表資料結構 typedef struct sq...
資料結構學習 選擇排序
演算法描述 選擇排序的思想是初始化最小索引為0,每趟遍歷選出最小的元素與最小索引的值進行交換,然後是最小索引加1,第二趟遍歷出剩下元素中最小的元素,繼續與當前索引的元素交換,依次類推,直到所有元素排列完成。相比於氣泡排序,選擇排序的優點在於每次遍歷只需要交換1次。演算法時間複雜度 最好情況 o n ...
資料結構 考研 簡單選擇排序
簡單選擇排序是最簡單的選擇類排序,是一種不穩定排序。每次在待排序區間尋找最小的乙個元素,將它與待排序區間的第乙個元素交換,緊接著待排序區間長度 1,再尋找當前待排序區間尋找最小的乙個元素,當待排序區間剩餘乙個元素的時候,選擇排序結束。void selectsort int arr,int len 如...