首页 > 其他 > 详细

【算法】选择排序

时间:2014-03-07 01:41:48      阅读:454      评论:0      收藏:0      [点我收藏+]

1.算法简述


选择排序(Selection Sort)是一种简单的不稳定排序算法。基本步骤如下:

  • 从待排序数列中选出最小的元素,置于待排序数列的起始位置;
  • 再从剩余的待排序的元素中选出最小的,置于已排序数列的末尾的下一位置(即剩余的待排序数列的起始位置);
  • 以此类推,直至排序完成
如果某个元素位于正确的最终位置上,选择排序不会将其移动。在每次交换一对元素时,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。

动态演示:
bubuko.com,布布扣

void selection_sort(int a[],int n)
{
	int i,j,min;
	for(i=0;i<n;i++)
	{
		min=i;               //初始化min
		for(j=i+1;j<n;j++)   //min记下最小值的位置     
			if(a[j]<a[min])
				min=j;
		if(i!=min)
			swap(&a[i],&a[min]);
	}
}


2.Referrence


[1] 维基百科, 选择排序.




【算法】选择排序,布布扣,bubuko.com

【算法】选择排序

原文:http://blog.csdn.net/keyboardlabourer/article/details/20629875

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