首页 > 其他 > 详细

排序算法《二》选择排序

时间:2014-01-22 21:58:50      阅读:365      评论:0      收藏:0      [点我收藏+]


选择排序是排序中非常基本的排序,也是非常重要的排序


基本思想:

将下面的数据按照从小到大的顺序排列

27 36 32 18 5


排序前:

27 36 32 18 5


第一步:找出五个数字中的最小的数字并放在第一位

5 36 32 18 27


第二步:找出剩下的四个数字中的最小的数字并放在第二位

5 18 32 36 27


第三步:找出剩下的三个数字中的最小的数字并放在第三位

5 1818 27 36 32


第四步:找出剩下的两个数字中的最小的数字并放在第四位

5 1818 27 32 36


排序后的结果:

5 1818 27 32 36



程序代码:

#include <stdio.h>
#include <stdlib.h>

void main()
{
	int a[5] = {27,36,32,18,5};

	int i,j;//用于for循环
	int min;//保存数组中最小的数字的下标
	int temp;//中间变量

	printf("排序前的数据:");

	for(i=0;i<5;i++)
	{
		printf("%d ",a[i]);//打印数组排序前的结果
	}

	printf("\n\n");

	for(i=0;i<5-1;i++)
	{
		min = i;

		for(j=i+1;j<5;j++)
		{
			if(a[j]<a[min])//查找数组中最小数据的下标
			{
				min = j;
			}
		}

		if(i != min)//数据交换
		{
			temp = a[min];
			a[min] = a[i];
			a[i] = temp;
		}
	}

	printf("排序后的数据:");

	for(i=0;i<5;i++)
	{
		printf("%d ",a[i]);//打印数组排序后的结果
	}

	printf("\n\n");

	system("pause");
}


执行结果:

bubuko.com,布布扣






排序算法《二》选择排序

原文:http://blog.csdn.net/u010105970/article/details/18655453

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!