初等排序之插入排序
来源:互联网 发布:侯振挺落选院士 知乎 编辑:程序博客网 时间:2024/06/05 03:45
介绍
插入排序是一种十分容易想到的排序算法,在一个数列中,我们需要将数一个一个取出,再按顺序依次放在相应的位置上。例如数列{8,4,5,9,6},若按升序排列,首先要将4提前队首,再将8往后移一位,随后将5提前到4后面,将8再往后移一位,最后将6提前到5后面,将8,9分别往后移一位,排序也就完成了。整个直接插入排序共用了O(n^2).
实现
语言:C++
#include<iostream>using namespace std;int i,j,n,a[100005];int main(){ scanf("%d",&n); scanf("%d",&a[0]);//数组a[0]不需要排序,单独输入 for(i=1;i<n;i++) { scanf("%d",&a[i]);//节约时间,边读数据边排序 int k=a[i]; j=i-1; while(j>=0&&a[j]>k)//移位,终止条件为移到行首或到比这个数小的数的后面 { a[j+1]=a[j]; j--; } a[j+1]=k; } for(i=0;i<n-1;i++)printf("%d ",a[i]); printf("%d\n",a[n-1]);}
小结
这是排序算法中相对较简单的一个,但是也是最费时间的一种排序算法,当然为了节省节省时间我们更需要更多高效简洁的算法,coming soon!
writing by Panda_Hu 2017.5.21
阅读全文
1 1
- 初等排序之插入排序
- 初等排序之插入排序
- 初等排序之冒泡排序
- 初等排序之希尔排序
- 初等排序之选择排序
- 初等排序
- 排序之插入排序
- 排序之插入排序
- 排序之插入排序
- 排序之插入排序
- 排序之插入排序
- 排序之插入排序
- 排序之插入排序
- 排序之插入排序
- 排序之插入排序
- 排序之插入排序
- 排序之插入排序
- 排序之插入排序
- 智能IoT系统框架理论
- github中创建自己的cocoapod私有库_异常问题解决
- 【Java邮件开发】7.邮件的基本格式与编码
- 软件设计六大原则
- hiho第151周 Building in Sandbox floodfill
- 初等排序之插入排序
- LeetCode:Sort Colors
- SpringBoot开发详解(八) -- 使用Swagger2构建API文档
- 生成器
- 《Boost》Part1 Minimum Spanning Tree
- 迭代器
- input 标签disabled问题
- ecnu
- 欢迎使用CSDN-markdown编辑器