用選擇法對10個整數從小到大排序。
無排序好的10個整數
4 85 3 234 45 345 345 122 30 1234
1230
4585
122234
345345
/*
選擇排序(selection sort)是一種簡單直觀的排序演算法。
它的工作原理是:第一次從待排序的資料元素中選出最小
(或最大)的乙個元素,存放在序列的起始位置,然後再從
剩餘的未排序元素中尋找到最小(大)元素,然後放到已排序
的序列的末尾。以此類推,直到全部待排序的資料元素的個數
為零。選擇排序是不穩定的排序方法。
*/#include
#include
using namespace std;
intmain()
for(
int i=
0; i<
9; i++)}
temp=a[i]
;//將第i個數與最小的數a[k]交換
a[i]
=a[k]
; a[k]
=temp;
}for
(int i=
0; i<
10; i++
)return0;
}
排序演算法入門 選擇排序
選擇排序 選擇排序也是利用了 擋板法 這個經典思想。擋板左邊是已排序區間,右邊是未排序區間,那麼每次的 選擇 是去找右邊未排序區間的最小值,找到之後和擋板後面的第乙個值換一下,然後再把擋板往右移動一位,保證排好序的這些元素在擋板的左邊。比如例子 我們用乙個擋板來分隔陣列是否排好序,用指標 j 來尋找...
選擇排序問題
選擇排序問題 剛開始做的時候理解錯誤,大概用了插空排序的思想,這裡不進行展示,等到插孔排序時直接說明。void select int arr,const int len 選擇排序 int tmp int dmin for int i 0 i定義乙個中間變數在交換的時候使用,定義乙個變數儲存最小值的下...
排序演算法入門之 選擇排序
擋板法 這個經典思想。擋板左邊是已排序區間,右邊是未排序區間,那麼每次的 選擇 是去找右邊未排序區間的最小值,找到之後和擋板後面的第乙個值換一下,然後再把擋板往右移動一位,保證排好序的這些元素在擋板的左邊。比如之前的例子 我們用乙個擋板來分隔陣列是否排好序,用指標 j 來尋找未排序區間的最小值 第一...