插入排序
2016-05-19 23:56
204 查看
#include<iostream> using namespace std; void swap(int *a,int *b) { int tmp = *a; *a = *b; *b = tmp; } //选择排序是每次都选取所有剩余序列中的最小值,然后将其与最前面值互换(先找最小值,最后换一次) //冒泡排序和插入排序的区别:冒泡排序每次都将剩余序列的最小值插到现有队列最前面(找一次换一次) //插入排序是第i个数在前面i-1个有序队列中找到一个自己适合的位置插入进去 void insert_sort(int a[],int n) { for(int i=1;i<n;i++) for(int j = i;j>0;j--) { if(a[j]<a[j-1]) swap(&a[j],&a[j-1]); else break; } } void main() { int a[10] = {1,3,5,7,2,8,4,9,6,0}; insert_sort(a,10); for(int i = 0;i<10;i++) { printf("%d \n",a[i]); } system("pause"); return; }
相关文章推荐
- C++实现的大整数分解Pollard's rho算法程序
- 操作系统知识(3)--Linux 文件
- 正则表达式语法
- 设计模式之单例模式
- 解决 activity 和 fragment 传递数据方法。
- android开发笔记之ViewPager新手导航页(动态加载指示器)
- 冒泡排序
- python线程和GIL
- Fragment之间的数据传递
- hdu_3067_小t的游戏(脑洞)
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- spring boot 关于资源的一般配置(二)
- hdu_3067_小t的游戏(脑洞)
- spring-boot(5) 的logback 整理
- dedecms实现邮箱验证方法,超全面涉及到服务器设置
- ios开发总结之文件下载(小文件下载)
- 【HDU 2586 How far away?】LCA问题 Tarjan算法
- Enterprise Architect与startUML表示UML常用图
- 串口驱动程序设计详解---串口初始化(上)
- Invalidate和postInvalidate