IOS演算法 二 之選擇排序

2021-09-07 11:40:06 字數 947 閱讀 5444

選擇排序:

每一趟從待排序的

資料元素

中選出最小(或最大)的乙個元素,順序放在已排好序的數列的最後。直到所有待排序的資料元素排完。

選擇排序

是不穩定的排序方法。

選擇排序:比方在乙個長度為n的無序陣列中。在第一趟遍歷n個資料,找出當中最小的數值與第乙個元素交換,第二趟遍歷剩下的n-1個資料,找出當中最小的數值與第二個元素交換......第n-1趟遍歷剩下的2個資料,找出當中最小的數值與第n-1個元素交換。至此選擇排序完畢。

以以下5個無序的資料為例:

56 12 80 91 20(文中僅細化了第一趟的選擇過程)

第1趟:12 56 80 91 20

第2趟:12 20 80 91 56

第3趟:12 20 56 91 80

第4趟:12 20 56 80 91

**實現:

//  main.m

//  演算法----選擇排序

//  created by lanouhn on 14-9-16.

#import

int main(int argc, const

char * ar**)

;//為了新增可移植性(採取sizeof())計算陣列元素個數count

int count = sizeof(array) /sizeof(array[0]);

//for (int i = 0; i < count - 1; i++)

}//假設沒有比較到最後還剩餘乙個數,那麼就執行以下的操作

if (minindex != i)

}for (int i = 0; i < count; i++)

return0;

}

排序演算法之 選擇排序 二)樹形選擇排序

簡介 樹形排序也被稱為錦標賽排序 步驟 1 把n個物件的排序碼進行兩兩比較,得到n 2個排序的優勝者,作為第一步比較的結果留下來 2 然後對這n 2個物件再進行排序碼的兩兩比較,如此重複,直到選出乙個排序碼最小的物件為止。3 構建一顆包含n個結點的完全二叉樹,當二叉樹不滿 葉子結點個數為奇數 用關鍵...

ios 演算法值選擇排序

選擇排序 selection sort 是一種簡單直觀的排序演算法。工作原理 第一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小 大 元素,然後放到已排序的序列的末尾。以此類推,直到全部待排序的資料元素的個數為零。選擇排序是不穩定的排序...

排序演算法 二 選擇排序

之前給大家分享了排序演算法裡面比較簡單的氣泡排序,今天來分享一下選擇排序的演算法 選擇排序的思想 1.以公升序為例 在一組數中選出最大的數放到第乙個位置,或者選出最小的數放到最後乙個位置,2.在選取剩餘元素的最大數放到第二個位置,或選出剩餘元素中的最小值放到倒數第二哥位置,3.依次往下選取,直到遍歷...