插入排序
来源:互联网 发布:有没有抢购软件 编辑:程序博客网 时间:2024/06/15 19:20
原理分析(升序)
假定数组第一个数是有序的,从数组下标1开始遍历比较后面的数值。如果遍历到的数x小于排在它前面的数则交换他们,再比较x和x前面的数…直到x前面再也没有比它大的数了,这时x就移动到了有序队列的合适位置。上述比较称为插入。
《算法导论》里的比喻很合适:“插入排序就像玩扑克牌时的抓牌一样,抓一张牌,就把它插在已有扑克牌的合适位置”
注:从数组的第二个数(下标1)开始遍历就是假设第一个数已经是有序队列了。后面通过遍历逐渐增加有序队列长度。直到完成排序。
void sort3(int arr[],int length){ int i , j ; //定义i为数组下标,从下标1开始遍历 for(i = 1; i < length; i++) { for(j = i; j >= 0; j--) { //判断,if成立就交换数值,不成立则表示已经在合适位置了,直接break if(arr[j-1] > arr[j]) { int a = arr[j-1]; arr[j-1] = arr[j]; arr[j] = a; } else { break; } } }}
阅读全文
0 0
- 插入排序-【插入排序】
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 救救服务器!IT人三伏天都怎么过?
- SwipeRefreshLayout + RecyclerView 实现上拉加载下拉刷新
- ios蓝牙开发(二)ios连接外设的代码实现
- 数据库事物
- Spring:IoC 用法(三、XML配置用法)
- 插入排序
- 在Spring中注入配置文件
- mybatis 处理结果集对象,对象包含对象[{a,b,c:[{}]}]
- 【HDU 1421】搬寝室
- Vue2 移动端开发环境搭建
- Unity3D项目程序加密2
- hibernate的表的映射和hql--第三天
- note____js
- 爬虫常用的三种通用模板小结