在每一次的元素交換處理循環中找出資料序列(Data sequence)的最小元素,直到整個排序作業完成。
程式範例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| /**
* Program name: selection_sort.c
* Description: 選擇排序法
* Created date: 2012/08/28
*/
#include <stdio.h>
#define n 5
void main(){
int ar[n]={18,3,9,1,5};
int i,j,t,temp;
for(i=0;i<n;i++){
for(j=i+1;j<n;j++){
t = i;
if(ar[t] > ar[j]) t = j;
if(t != i){
temp = ar[t];
ar[t] = ar[i];
ar[i] = temp;
}
}
}
printf("[選擇排序結果]: ");
for(i=0;i<n;i++)
printf("%d,",ar[i]);
printf("\n");
system("pause");
}
|
執行結果
沒有留言:
張貼留言