排序-直接插入排序
来源:互联网 发布:华军软件下载中心 编辑:程序博客网 时间:2024/06/11 05:17
插入排序
插入排序相比直接选择排序,效率更高些。
插入排序有下面几个步骤:
1.找到要交换的元素,将该元素赋值给哨兵
2.从相应的位置移动元素,取决于你的比较方法,大于还是小于,最后移动的结果是空出一个位置留给哨兵元素
3.将哨兵元素放到第二步空出的位置中
4.继续循环上面饿步骤知道全部排序完成
代码:
//普通数组的插入排序,从小到大排序void InsertSort(int* L, int length){ int temp = 0;//哨兵 for (int i = 1; i < length; i++) { if (L[i] < L[i - 1]) { temp = L[i];//要交换的值赋值给哨兵 for (int j = i - 1; L[j] > temp; j--) { L[j + 1] = L[j];//元素依次后移 } L[j + 1] = temp;//将哨兵放到要插入的位置 } } }
main测试
#include <stdio.h>int main(void){ int x[10] = { 5, 3, 2, 1, 7, 4, 6, 9, 8, 10 }; InsertSort(x, 10); for (int i = 0; i < 10; i++) { printf("%d ", x[i]); } system("pause"); return 0;}
全部原创,欢迎指正
0 0
- 排序:直接插入排序
- 排序---直接插入排序
- 排序 -- 直接插入排序
- 排序---直接插入排序
- 排序--直接插入排序
- 排序-直接插入排序
- 【排序】直接插入排序
- 排序--直接插入排序
- 排序:直接插入排序
- 【排序】直接插入排序
- 排序--直接插入排序
- 排序--直接插入排序
- 排序-直接插入排序
- 插入排序--直接插入
- 插入排序------直接插入
- 插入排序---直接插入
- 插入排序--直接插入排序
- 插入排序-直接插入排序
- Java序列化与反序列化
- JAVA启动参数
- 字节码操作_javassist库_动态创建新类_属性_方法_构造器_API详解JAVA216-217
- Unix学习(二)
- 人脸美化随笔1——研究方向总结
- 排序-直接插入排序
- Retrofit2.0进行图片上传(后端Spring MVC)
- C语言,函数指针与指针函数
- google更新5.0以后,用eclipse创建工程时出现的找不到styles.xml中的资源的问题
- ROS简明教材目录
- 【一天一道LeetCode】#5 Longest Palindromic Substring
- python日记——数据库操作
- display属性
- 1. Two Sum