前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >排序(三):直接选择排序

排序(三):直接选择排序

作者头像
卡尔曼和玻尔兹曼谁曼
发布2019-01-25 14:46:03
4400
发布2019-01-25 14:46:03
举报

选择排序的基本思想是:每次从待排序的数据元素集合中选取关键字最小(或最大)的数据元素放到数据元素集合的最前(或最后),数据元素集合不断缩小,当数据元素结合为空的时候选择排序结束。常用的选择排序有直接选择排序和堆排序两种。堆排序是一种基于完全二叉树的排序。

直接选择排序的基本思想是:从待排序的数据元素集合中选取关键字最小的数据元素并将它与原始数据元素集合中的第一个数据元素交换位置;然后从不包括第一个位置上数据元素中选取关键字最小的数据元素并将它与原始数据元素集合中的第二个数据元素交换位置;如此重复,直到数据元素集合中只剩一个数据元素为止。

直接选择排序算法是一种不稳定的排序方法。

下面给出示例代码:

代码语言:javascript
复制
void selectSort(int data[], int size)
{
	int small;
	int temp;
	for (int i = 0; i < size - 1; i++)
	{
		small = i;
		for (int j = i + 1; j < size; j++)
		{
			if (data[j] < data[small])
			{
				small = j;
			}
		}
		if (small != i)
		{
			temp = data[small];
			data[small] = data[i];
			data[i] =  temp;
		}
		print(data, size);
	}
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年11月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档