您的位置:首页 > 其它

基础:排序算法(三)选择排序

2018-02-05 14:49 239 查看

基础:排序算法(三)选择排序

算法思想:

选择排序是一种不稳定的排序方法,每一趟从待排序的数据元素中选出最小(或最大)

的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。

其主要应用于计算机和数学领域。它的主要优点与数据移动有关。

如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,

它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。

在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。

详细介绍:选择排序

#include<stdlib.h>
#include<stdio.h>
void main()
{
int x[5]={9,8,3,5,2};
int i,j,min,temp;
for (i = 0; i < 5-1; i++)
{
min = i;
for (j=i+1; j<5; j++)
{
if(x[j]<x[min])
{
min =j;
}
}
if(min!=i)
{
temp = x[i];//把最大值赋给temp
x[i] = x[min];//最小值放在数组首
x[min] = temp;//最大值放在数组末
}

}
printf("原数组为9 8 3 5 2\n");
printf("排序后数组为:");
for (i = 0; i < 5; i++)
{
printf("%-3d",x[i]);
}
system("pause");
}


结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐