基础算法-直接选择排序
2016-04-20 12:52
211 查看
直接选择排序:
数组划分为左右两个区域,有序区和无序区,每次从无序区找到最小的那个元素的位置,然后把它放到有序区的最后面,这样第一次遍历将最小的放到了第一个位置,第二次遍历将剩余元素的最小的放到第二个位置,这样最后就按照升序把元素全部放到了有序区。这里对于[5 4 2 3 1]进行排序
[][5 4 2 3 1]
[][1 4 2 3 5]
[1][4 2 3 5]
[1][2 4 3 5]
[1 2][4 3 5]
[1 2][3 4 5]
[1 2 3][4 5]
[1 2 3 4][5]
[1 2 3 4 5]
#include"array.h" void isort(int a[],int n) { for(int i=0;i<n-1;i++){ int k=i; for(int j=i+1;j<n;j++) if(a[j]<a[k]) k=j; if(i!=k){ int t=a[k]; a[k]=a[i]; a[i]=t; } } } int main() { int a[10]; getRandArray(a,10); print(a,10); isort(a,10); print(a,10); }
相关文章推荐
- mysql+C#实战五:引入变量并从程序中赋值
- Jmeter 参数化请求实例
- 梦断代码阅读笔记(1)
- git pull/push项目的时候总是提示要输入用户名密码的解决方案
- hrbust 2104 Encryption 【模拟+STL】
- 单例的完整实现
- 趣味整数-黑洞数
- 108. Convert Sorted Array to Binary Search Tree
- 持续集成(二)环境搭建篇—内网邮件server搭建
- Oracle 删除重复的记录,只保留一条
- 势篇
- 用java实现随机输出1个[e, f)的数字
- 用 git 下载 uboot 源码
- 36. Valid Sudoku
- 正则验证匹配中文姓名全部源字符串
- 使用VMware 安装Linux CentOS7
- 20160420-序列比对前的准备工作
- Timus 1291 Gear-wheels
- 对下一步方向的迷失
- Zabbix Agent 源码编译安装