1、选择法排序简介
选择法排序算法是一种常用的排序算法,他的实现方法是遍历数组所有元素,找出最小的元素,将它与第一个元素交换;然后遍历剩下的元素,找出最小的元素并与第二个元素交换;接下来再遍历剩下的元素,找出最小的元素并与第三个元素交换;如此反复,知道数组末尾。
比如一个5个元素的数组5、3、1、2、4,使用选择法进行排序,排序步骤如下所示。
2、选择法代码示例
下面我们采用c语言编写一段代码来实现上面的5个数的排序,代码如下所示。
#include <stdio.h>
void main()
{
int i,j;
int data[5]={5,3,1,2,4};
int temp;
int min;
printf("Data: ");
for(i=0;i<5;i++)
printf("%d ",data[i]);
printf("\n");
for(i=0;i<5;i++)
{
min = i;
for(j=i+1;j<5;j++)
{
if(data[j]<data[min])
{
min=j;
}
}
temp = data[i];
data[i] = data[min];
data[min] = temp;
}
printf("Final data: ");
for(i=0;i<5;i++)
printf("%d ",data[i]);
printf("\n");
}
编译代码并运行,结果如下所示。
Data: 5 3 1 2 4
Final data: 1 2 3 4 5