排序(三):直接选择排序
来源:互联网 发布:慢慢减肥知乎 编辑:程序博客网 时间:2024/05/22 02:01
选择排序的基本思想是:每次从待排序的数据元素集合中选取关键字最小(或最大)的数据元素放到数据元素集合的最前(或最后),数据元素集合不断缩小,当数据元素结合为空的时候选择排序结束。常用的选择排序有直接选择排序和堆排序两种。堆排序是一种基于完全二叉树的排序。
直接选择排序的基本思想是:从待排序的数据元素集合中选取关键字最小的数据元素并将它与原始数据元素集合中的第一个数据元素交换位置;然后从不包括第一个位置上数据元素中选取关键字最小的数据元素并将它与原始数据元素集合中的第二个数据元素交换位置;如此重复,直到数据元素集合中只剩一个数据元素为止。
直接选择排序算法是一种不稳定的排序方法。
下面给出示例代码:
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);}}
0 0
- 排序(三):直接选择排序
- 排序-选择排序(直接选择排序)
- 排序算法之——直接选择排序(三)
- 排序算法(三)直接选择排序(Straight Select Sorting)
- 排序算法之三--直接选择排序
- 选择排序(直接选择)
- 选择排序(直接选择、堆排序)
- 选择排序(直接选择、堆排序)
- 排序:选择排序(直接选择排序、堆排序)
- 【排序】选择排序(直接选择排序、堆排序)
- 【排序】直接选择排序
- 【排序】直接选择排序
- 【排序】直接选择排序
- 选择排序--直接选择排序
- 选择排序 - 直接选择排序
- 选择排序-直接选择排序
- 选择排序-直接选择排序
- 选择排序-直接选择
- 移植QT到ZedBoard(制作运行库镜像) 交叉编译
- 准备写博客了~~
- java线程学习
- 迭代器删除操作写法及解释
- iptables
- 排序(三):直接选择排序
- Ubuntu 12.04 安装MySQL 5.6.21
- ZEDBOARD启动自启配置(加载镜像)
- 设计模式(十三)之 Memento(备忘机制)
- [软工视频]理论学习——概论、计划、需求分析、设计
- 获取中断描述符表IDT的信息
- 第11周 项目2-求最大公约数(3)
- LINUX总结第15篇:Linux-网桥原理分析
- 对Retinex算法的一些理解