选择排序C语言实现
2019-08-01 00:00
856 查看
选择排序
1、算法描述
首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕(放到起始位置还是末尾可以自行选择)
2、代码实现
int num[5] = {7, 3, 5, 8, 1};
int i, j;
int minIndex; //待排序列中最小数的下标
int temp;
int length = sizeof(num) / sizeof(num[0]);
/* 选择排序-升序*/
for (i = 0; i < length - 1; i++)
{
minIndex = i;
for (j = i + 1; j < length; j++)
{
if (num[j] < num[minIndex])
{
minIndex = j;
}
}
temp = num[i];
num[i] = num[minIndex];
num[minIndex] = temp;
}
3、排序过程(gif)
四、关于算法性能
与冒泡排序相比选择排序的交换次数较少,由于交换所需CPU时间比比较所需的CPU时间多,n值较小时,选择排序比冒泡排序快
相关文章推荐
- 数据结构--快速、冒泡、选择排序C语言实现
- 选择排序c语言实现
- 选择排序C语言实现
- 选择排序C语言实现
- 选择排序C语言实现
- 如何用ABAP实现自动发送外部邮件
- 使用Forms Authentication实现用户注册、登录 (一)基础知识
- C#在WinForm中实现清空指定类型控件的内容
- Oracle数据库穿透防火墙实现服务端的连接
- C#中实现VB中的CreateObject方法.
- 使用URLRewrite 实现URL伪静态化2
- Brew---实现 子目录 cpp文件添加
- aspx中利用js实现确认删除代码
- ASP.Net ViewState的实现
- ASP.NET 2.0中实现模板中的数据绑定
- Struts+Spring+Hibernate实现上传下载
- C#下用P2P技术实现点对点聊天
- 稳扎稳打Silverlight(54) - 4.0通信之对UDP协议的支持: 通过 UdpAnySourceMulticastClient 实现 ASM(Any Source Multicast),即“任意源多播”
- Lotus Domino中基于Servlet的报表实现
- 在C#中使用SerialPort类实现串口通信