[算法导论学习心得]关于Insertion Sort
来源:互联网 发布:aws s3 java 开发文档 编辑:程序博客网 时间:2024/06/09 08:06
从小到大的插入排序(Insertion Sort)
伪代码:
for j ← 2 to length[A] do key ← A[j] i ← j while i>0 and A[i]>key i ← i-1 A[i+1] ← key
算法的理解:
此算法就是将待插入的数A[j]插入到已排好序的部分A[1...j-1]中,
i>0保证了不会出现越界的情况,A[i]>key说明此时待插入数据可以向左移一位
当while循环退出时,此时的key会大于等于A[i]但小于A[i+1],将key插入A[i]之后即可
//C语言代码#include <stdio.h>void insertionSort(int *a, int n){ if (n == 1 || n == 0) return; int i; int j; int k; int key; for (i = 1; i < n; i++) { key = a[i]; for (j = i - 1; j >= 0; j--) { if (key < a[j])<span style="white-space:pre"></span>// 满足条件一次,就挪一次位置 { int temp = a[j + 1]; a[j + 1] = a[j]; a[j] = temp; } } }}int main(){ int a[] = {5, 2, 4, 6, 1, 3}; insertionSort(a, 6); int i = 0; for (; i < 6; i++) { printf("%d ", a[i]); } return 0;}
0 0
- [算法导论学习心得]关于Insertion Sort
- 算法导论-插入排序 insertion sort
- 【算法导论】2-1 插入排序insertion-sort.cpp
- 读书笔记:算法导论第2章 第1节 Insertion sort
- 算法导论 习题2.3-4(the implemention of insertion sort recursively)
- 《算法导论》学习心得
- 插入排序算法Insertion-Sort
- 排序算法算法之Insertion Sort
- 插入排序算法——Insertion Sort
- 算法排序--插入排序(insertion sort)
- 算法分析(2)Insertion Sort
- leetcode 147 Insertion Sort List java 算法
- 经典排序算法:插入排序Insertion sort
- 使用python实现排序算法(Insertion Sort)
- 排序算法---插入排序(Insertion Sort)
- Insertion Sort
- Insertion Sort
- insertion sort
- Mockito常用方法及示例
- Java Coding Standard
- NYOJ-710(贪心)-题目----------------------------------外星人的供给站
- TortoiseGit设置代理问题
- 9个非常有意思的HTML5动画推荐
- [算法导论学习心得]关于Insertion Sort
- 关于handler机制的一点见解
- 决策树模型组合之(在线)随机森林与GBDT
- HTML(第四章 案列分析)
- 2015--阿里内推--hr面--(通过)
- what's the difference between the various methods to get a Context?
- 从用户email信息分析是否为qq邮箱并截取qq号的sql语句
- Perl 调用短信
- extjs如何在页面显示图片代码片段