数据结构与算法-插入排序
来源:互联网 发布:python 符号错误 编辑:程序博客网 时间:2024/05/18 17:59
插入排序(打麻将起牌时把后来的放到合适位置)
每次把一个位置上的数据插入到前边已排好的数字中某个合适的位置上形成一个新的已排序的数字序列;
重复这个操作直到所有数字都插入进去为止;
采用双重循环实现;
外循环的循环变量从第二个位置开始到最后一个位置为止,内循环的循环变量从外循环变量-1开始到0为止;在内循环中对内循环变量和它后面的变量中的数字进行顺序调整;
3 6 4 2 7 1
3 6 4 2 7 1
3 4 6 2 7 1
2 3 4 6 7 1
2 3 4 6 7 1
1 2 3 4 6 7
每次把一个位置上的数据插入到前边已排好的数字中某个合适的位置上形成一个新的已排序的数字序列;
重复这个操作直到所有数字都插入进去为止;
采用双重循环实现;
外循环的循环变量从第二个位置开始到最后一个位置为止,内循环的循环变量从外循环变量-1开始到0为止;在内循环中对内循环变量和它后面的变量中的数字进行顺序调整;
/* * 插入排序 */#include <stdio.h>void print(int *arr, int num) { int pos1 = 0; for (pos1 = 0; pos1 <= 5; pos1++) { printf("%d ", arr[pos1]); } printf("\n");}int main() { int arr[6] = { 3, 6, 4, 2, 7, 1 }, pos = 0, pos1 = 0; print(arr, 6); for (pos = 1; pos <= 5; pos++) { /* 类似于纸牌起牌,把后来的每一张放到合适位置 */ for (pos1 = pos; pos1 > 0; pos1--) { /* 从当前位置往前比较后插入 */ if (arr[pos1] < arr[pos1 - 1]) { /* 当前位置与前一个位置比较 */ int tmp = arr[pos1 - 1]; arr[pos1 - 1] = arr[pos1]; arr[pos1] = tmp; } else { break; } } print(arr, 6); } return 0;}
3 6 4 2 7 1
3 6 4 2 7 1
3 4 6 2 7 1
2 3 4 6 7 1
2 3 4 6 7 1
1 2 3 4 6 7
0 0
- 数据结构与算法-插入排序
- 【数据结构与算法】插入排序
- 算法与数据结构---插入排序
- 插入排序 Java数据结构与算法
- 数据结构与算法之二分法插入排序
- 数据结构与算法之插入排序
- python数据结构与算法 32 插入排序
- 数据结构与算法分析-插入排序
- 【数据结构与算法】直接插入排序
- 【数据结构与算法 00】二分插入排序
- 【数据结构与算法 03】直接插入排序
- [数据结构与算法]直接插入排序
- 数据结构与算法之插入排序
- <四>java数据结构与算法 插入排序
- 【数据结构与算法】——插入排序
- 数据结构与算法(选择性插入排序)
- Java数据结构与算法之插入排序
- 数据结构与算法:C++实现插入排序
- 数据结构与算法-选择排序
- 有或无操作系统的Linux设备驱动区别
- java数组合并
- CF-gym100338-A Shitália
- 读书笔记之linux/unix系统编程手册(26)
- 数据结构与算法-插入排序
- hadoop -- setup and configuration
- noip2001 最大公约数和最小公倍数问题 (质因数分解)
- java中<<,>>和>>>
- sklearn、nltk、gensim语料输入对比之nltk
- 黑马程序员——集合(三)Map和枚举,Conllections工具类
- 数据结构与算法-快速排序
- MongoDB学习七--MongoDB高级操作
- UIScrollView添加控件,控件距离顶部始终有间距的问题