插入排序算法浅谈
来源:互联网 发布:linux finger不存在 编辑:程序博客网 时间:2024/05/18 00:05
最简单的排序算法之一是插入排序算法。
插入排序利用的事实是位置0到位置P-1上的元素是已排序的。
其一般方法是:在第P趟排序中,我们将位置P上的元素向左移动到它在前P+1个元素的正确位置上。
一般定义一个方法,它有两个参数,分别为需要被排序的数组和数组长度N
1.运用for循环for(int p=1;p<N;p++)
2.在循环内部首先将a[p]赋值给一个临时变量tmp.
3.内部嵌套一个for循环for(j=p;j>0&&a[j-1]>tmp;j--),即前一个数存在且前一个数大于tmp,就将前一个数赋值给tmp对应的当前数组中的数,接着比较位减一,直到前面的所有数都小于tmp。
4.跳出子循环将tmp赋值给a[j],此时a[j]由于子循环的j--,其实已经变为上一个循环的a[j-1]了,即逻辑空位。
5.这样循环n-1回就排好所有的数了。
图为算法:
- 插入排序算法浅谈
- 浅谈排序算法实现(冒泡、交换、插入、快速)
- 浅谈直接插入排序算法思想以及时间复杂度分析
- 浅谈插入排序
- 浅谈插入排序
- 排序算法-插入排序
- 排序算法--插入排序
- 排序算法---插入排序
- 排序算法-插入排序
- 排序算法-插入排序
- 排序算法--插入排序
- 排序算法-插入排序
- 排序算法-插入排序
- 排序算法---插入排序
- 排序算法--插入排序
- 排序算法--插入排序
- 排序算法--插入排序
- 排序算法-插入排序
- alter system ,alter database,alter session
- mapreduce出core处理
- [C++STDlib基础]关于单字符的操作——C++标准库头文件<cctype>
- Android HTTP实例 使用GET方法和POST方法发送请求
- nhibernate中 领域驱动设计/开发(DDD,Domain Driven Design/Development)
- 插入排序算法浅谈
- 图像处理--概念
- 在VTK中使用Opengl代码
- 字符串的左旋转
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- 网桥的原理与作用 .
- JSP详解
- Ubuntu Android GCC 版本配置
- Android通过LIstView显示文件列表