選擇排序(selection sort)是一種簡單直觀的排序演算法。
它的基本思想是:首先在未排序的數列中找到最小(or最大)元素,然後將其存放到數列的起始位置;接著,再從剩餘未排序的元素中繼續尋找最小(or最大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。
總結:兩個for迴圈=乙個for喜歡i=0-(n-1)+乙個for迴圈尋找比i小的陣列的座標用min存起來+乙個交換的過程
/** 設定乙個參考儲存座標,和冒泡的區別是不需要頻繁的移動交換,它只需要找座標存起來就可以啦 */
#include
"stdio.h"/*
* 選擇排序
* * 引數說明:
* a -- 待排序的陣列
* n -- 陣列的長度 */
void select_sort(int a, int
n)
if(!flag) //
若上面出現比i更小的就交換,沒有就不用交換
}}void main(void);
int length=sizeof(a)/(sizeof(a[0
]));
printf(
"排序前:");
for(int i=0;i)
printf(
"%d
",a[i]);
printf("\n
");select_sort(a,length);
printf(
"選擇排序後:");
資料結構 排序 選擇排序
選擇排序 所謂選擇排序,就是不斷從剩下的元素中選擇最小的元素放入前面,那麼 前面 我們就從下標為 0 i 0 的第乙個元素開始 此時我們假設下標為 0 的元素是最小的,minindex 0,minindex 就是最小值的索引 相應的剩下的元素則從 i 1 的位置開始,也就是從 1 開始,然後依次與 ...
資料結構 排序(選擇排序)
排序 選擇排序法 include include include include 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法 ...
資料結構 選擇排序
選擇排序是一種比較直觀的排序方法 選擇排序的思想在於 預設公升序排序 在乙個陣列當中,選擇這個陣列當中最小的元素,將這個元素放在第一位,然後尋找第二小的元素,將這個元素放在第二位。以此類推,直到將這個陣列完成排序。這是乙個比較直觀的排序方法 選擇排序 演算法思想 在遍歷陣列的時候 找出陣列當中最小的...