算法基础之排序—插入排序
来源:互联网 发布:淘宝客贷款 编辑:程序博客网 时间:2024/05/22 15:39
排序算法是算法基础中最常见也是最应该掌握的算法。
插入排序的想法,和我们玩扑克牌起牌相似。从左手为空开始,扑克牌背面朝上至于桌上,每次从桌面上摸一张牌,并将其插入到左手正确的位置,使得左手中的牌是有序的。为了找到这张牌的正确插入位置,从右到左逐一比较左手中的牌。当摸完桌上的牌时,左手中的牌就是排序好了的。
#include<iostream> using namespace std; void InsertSort(int num[],int n){ for(int i=1;i<n;i++){ //默认手里有一张牌 int key=num[i];//起一张牌 int j=i-1;//从左手牌中右边开始遍历 while(num[j]>key && j>=0){ num[j+1]=num[j];//腾出一个空位 j--;}num[j+1]=key;//插入这张牌}} int main(void) { int n=10; int num[10]={9,0,8,7,4,5,6,3,1,2}; InsertSort(num,n); for(int i=0;i<n;i++) cout<<num[i]<<" "; getchar(); return 0; }
插入排序并不是一种很快的排序算法,其算法的时间复杂度为O(n^2).
下一节讲一讲快速排序算法。
阅读全文
1 0
- 算法基础之排序—插入排序
- 基础算法之插入排序
- 算法基础之插入排序
- 算法基础之排序篇-插入排序
- 基础算法--排序: 之插入排序
- 基础算法之排序(3)--插入排序
- 【基础算法】排序-简单排序之三(插入排序)
- 基础算法-插入排序
- 基础算法-插入排序
- 【基础算法】插入排序
- 【算法基础】插入排序
- 【基础算法】-- 插入排序
- 排序算法—插入排序之直接插入排序
- 基础算法系列(七)排序算法之插入排序
- 算法(algorithms)基础之:插入排序
- 算法基础之----直接插入排序
- 算法之排序——插入排序
- 算法——排序之插入排序
- 饥饿线程
- sed脚本分隔符的处理
- JenkinsCI-GroovyScripts01
- 网络编程中常用的函数及结构体总结
- UML常用图的几种关系的总结
- 算法基础之排序—插入排序
- 解决报错: Exception in thread "main" java.lang.RuntimeException: Stub!
- 算法编程题
- 封装UniversalImageLoader框架实现一行代码即可加载图片,且完美支持https图片请求
- 重写,多态
- Builder设计模式原理
- 密码学总结(一) 数学常识
- javaSE_8系列博客——集合——宏观概述
- 从新建java项目到导入java项目