c++排序算法之插入法
来源:互联网 发布:js屏幕图片自动旋转 编辑:程序博客网 时间:2024/06/06 19:41
1.后插(从后往前插入)
思路:数组有N个元素,第i次循环后,前面i+1个元素排成升序,,现在要将第i+2个元素插入,具体做法:找到能插入的位置,在从后往前挨个找的过程中,把每一个比要插入的元素大的元素往后移一位,最后把值插入。
void back_insert(int a[], int n){for (int i = 1; i < n; i++){int p = a[i];int j = i - 1;while (p < a[j] && j >= 0){a[j + 1] = a[j];j--;}a[j + 1] = p;}}
2.前插(从前往后插入)
思路:数组有N个元素,第i次循环后,前面i+1个元素排成升序,,现在要将第i+2个元素插入,具体做法:先找到要插入的位置,然后把该位置后面的元素从后往前依次后移一位,最后插入。
void front_insert(int a[], int n){for (int i = 1; i < n; i++){int p = a[i];int j = 0;while (p>a[j] && j < i){j++;}for (int k = i; k > j; k--){a[k] = a[k - 1];}a[j] = p;}}
阅读全文
0 0
- 算法之排序算法:插入排序(C++)
- C排序算法之插入排序
- 排序算法之插入排序 (C语言)
- C语言之排序算法---插入排序
- C--经典算法之排序---插入排序
- c语言排序算法之插入排序
- C/C++之一步一步写算法之《插入排序法》
- 算法导论 之 插入排序[C语言]
- 算法之插入排序【C语言】
- 算法之【插入排序法】
- c/c++ 算法之快速排序法 冒泡排序法,选择排序法,插入排序法
- java排序算法之(插入法排序)
- 常用排序算法之插入排序法
- 排序算法之简单插入排序法
- 排序算法之插入排序法
- C/C++程序员:基本排序算法之插入排序
- 常用排序算法之插入排序c及lua实现
- C语言排序算法实现之插入排序
- Servlet技术
- Android RecyclerView 的简单使用
- Lua学习笔记之Coroutine
- u8sdk走过的坑-ExtMXSerializer.writeAttributeValue
- HDU 1914 The Stable Marriage Problem
- c++排序算法之插入法
- const int*和int const*的区别
- Servlet学习
- 基于TCP 的Socket 编程
- Jave EE 写第一个servlet
- POJ 2492 A Bug's Life(并查集)
- webrtc——web与android,android间通信
- 使用jquery制作日历(生日)选择器
- 516. 「LibreOJ β Round #2」DP 一般看规律 [set/SPLAY] 【STL/数据结构】