在选择类排序算法中,有简单选择排序,树型选择排序,堆排序
简单选择排序:
对于选择排序的理解应该比较简单些,
演练程序:
- #include <stdio.h>
-
-
#define N 10
-
-
int main()
-
{
-
int a[N] = {62, 48, 35, 77, 55, 14, 35, 98, 22, 10};
-
int i, j, k, tmp;
-
-
for(i = 0; i < N; i++) {
-
printf("%d ", a[i]);
-
}
-
printf("\n");
-
-
for(i=0; i < N; i++) {
-
k = i;
-
for(j = i+1; j < N; j++) {
-
if(a[k] > a[j]) {
-
k = j;
-
}
-
}
-
if(k != i) {
-
tmp = a[k];
-
a[k] = a[i];
-
a[i] = tmp;
-
}
-
}
-
-
for(i = 0; i < N; i++) {
-
printf("%d ", a[i]);
-
}
-
printf("\n");
-
return 0;
-
}
执行结果:
- 62 48 35 77 55 14 35 98 22 10
-
10 14 22 35 35 48 55 62 77 98
树型选择排序:
阅读(782) | 评论(0) | 转发(0) |