演算法初探 選擇排序

2021-07-11 02:16:58 字數 875 閱讀 6006

選擇排序(selection sort)就是通過n-1次關鍵字之間的比較,從n-i+1個記錄中選擇出最小的記錄,並和第i個記錄做交換。

簡單來說就是

①從第i個記錄向後找乙個最小的值

②將找到的記錄與第i個記錄交換即可

③重複上述步驟直至整個序列排序完成

找不到動態圖了鬱悶(:зゝ∠)

; //待排序序列

selectsort(input);

for_each(input.begin(), input.end(), show);

cin.get();

return0;}

void selectsort(vector

& s) //選擇排序

}s[num] =s[i]; //交換第i個記錄和選擇的最小記錄

s[i] = min;

}}void show(int x)

這裡有個小問題需要稍微注意一下

①在「選擇」第i小的記錄時,已經將第i個元素暫存在min中了,直接從i+1開始比較,這樣如果第i個記錄就是最小值,則num沒有記錄對於下標,則還是0(也可將其初值改為i,可以少一次比較)

初探 排序演算法

選擇排序的思想 for i 0 i num i 交換 tempvalue temp array smallest temp array smallest temp array i temp array i tempvalue 插入排序的思想 for i 0 i num i array positio...

演算法初探 陣列 鍊錶與選擇排序

前端也要懂演算法,閱 演算法 有所得。1.記憶體的原理 相信我們經常會聽到 堆 棧 之類的字眼,那麼計算機的記憶體是什麼呢?當我們去游泳時,我們需要將東西存在保險櫃裡,可能東西比較多,乙個放不下,這時候就需要申請2個保險櫃,再將東西放在櫃子裡,手裡拿著開櫃的鑰匙。計算機的記憶體分配亦是如此,當我們需...

排序演算法 堆排序初探

思想步驟 實現 堆 heap 是一類特殊的資料結構的統稱。堆通常是乙個可以被看做一棵完全二叉樹的陣列物件。binary tree 二叉樹 是樹的一種,主要的特點是二叉樹的所有節點最多只有兩個葉節點。除此之外沒有別的要求。complete binary tree 完全二叉樹 二叉樹的一種。在完全二叉樹...