选择排序
来源:互联网 发布:练钢琴软件 编辑:程序博客网 时间:2024/04/28 02:04
思路:
使用两个索引:begin指向数组第一个元素,end指向数组最后一个元素。规定每次循环begin所指向的值为最小值,end所指向的值为最大值。在for循环中,使数组的每个元素和最大最小值比较,符合if条件就进行交换。每次循环完就选出一个最小值和最大值放在开头和末尾。从两边往中间移动。时间复杂度O(N^2)
#include<iostream>using namespace std;void SelectSort(int *arr, int size){ int begin = 0, end = size - 1; while (begin < end) { int min = begin; int max = end; for (int i = begin; i <= end; i++) { if (arr[i] < arr[min]) { swap(arr[i], arr[min]); } if (arr[i] > arr[max]) { swap(arr[i], arr[max]); } } begin++; end--; }}
0 0
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序:
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 实现类似网易邮箱的顶部工具栏的悬停效果
- python 装饰器模式 我的理解
- 搜狗技术团队为何从oracle转mysql 【转】
- 侧边栏 SlidingMenu
- 46. Permutations && 47. Permutations II
- 选择排序
- 30 天学习 30 种新技术
- c++编程四舍五入算法
- listview设置数据为空时显示数据
- CDI进阶第十步 查找上下文
- 获取视频的第一帧缩略图(本地视频、网络视频)
- java网络编程
- java中Keytool的使用总结
- Dynamics CRM Plugin DLL恢复工具