常用排序算法之选择排序

题目:编写一个C程序,运用选择排序将序列{2,5,6,3,7,8,0,9,12,1}进行排序,要求从小到大排序,并输出排序后的数列元素

算法分析:运用选择排序算法即可

代码实现:

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
32
33
34
35
36
37
38
39
#include <stdio.h>

void selectsort(int a[], int n)
{
int i,j,min;
for(i=1;i<=n-1;i++)
{
min = i;
for(j=i+1;j<=n;j++)
{
if (a[j] < a[min])
{
min = j;
}
if (min != i)
{
a[0] = a[j];
a[j] = a[min];
a[min] = a[0];
}
}
}

int main()
{
int i;
int a[11] = {-111,2,5,6,3,7,8,0,9,12,1};
printf("The orginal data array is\n");
for(i=1;i<=10;i++)
{
printf("%d ", a[i]);
}
selectsort(a, 10);
printf("\nThe result of selection sorting for the array is\n");
for(i=1;i<=10;i++)
{
printf("%d ", a[i]);
}
}

If you like my blog, please donate for me.