排序之简单插入排序(数组)
来源:互联网 发布:自动填写表单软件 编辑:程序博客网 时间:2024/05/17 04:07
简单插入排序: 构建一个有序序列,将未排序的数据,在已排序序列中从后往前扫描,找到相应的位置插入。(动图)
就像整理扑克牌一样,随便抓了5张牌之后,要从左到右,将牌按照从小到大的顺序排列。因此,首先从第二张牌(目标牌)开始,与它之前的牌比较大小,若第一张牌比此牌大,那么将第一张牌往后移动一个位置,并将目标牌放在第一位;紧接着,目标牌换为第三张牌,以目标牌从后往前扫描。。。。。。
时间复杂度:最差(逆序):O(n2)
最好(正序):O(n)
总的:O(n2)
是稳定的。由于冒泡和选择排序。
#include<iostream>using namespace std;#define L 6void InsertionSort(int *a,int length){int i,j,key;for(i=1;i<length;i++){key=a[i];j = i-1;while(j>=0&&a[j]>key){a[j+1] = a[j];j--;}a[j+1] = key;}}int main (){int r[L];for (int i=0;i<L;i++){cin>>r[i];}for (int i=0;i<L;i++){cout<<r[i];}cout<<endl;InsertionSort(r,L);for (int i=0;i<L;i++){cout<<r[i];}
return 0;
}
0 0
- 排序之简单插入排序(数组)
- 【基础算法】排序-简单排序之三(插入排序)
- 数组的简单排序(冒泡排序,简单选择排序,插入排序)
- 插入排序(数组)
- 插入排序之之简单插入排序和希尔排序
- 排序之基于数组插入排序
- 简单排序之冒泡排序,选择排序,插入排序
- Java基础篇之----排序(快速排序、冒泡排序、堆排序、简单选择排序、 希尔排序、直接插入排序)
- 内部排序算法之简单插入排序
- java简单排序学习之插入排序
- C语言::简单排序之插入排序
- 简单排序之直接插入排序
- C++简单排序算法之插入排序
- 排序算法之简单插入排序法
- Java排序算法之简单插入排序
- 排序算法之简单插入排序
- [Java数据结构]简单排序之插入排序
- 数组排序-插入排序
- Android 漏洞分析入门 (一)
- android 7.1特性
- spark streaming 实现kafka的createDirectStream方式!!不坑
- SQLite3总结
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- 排序之简单插入排序(数组)
- 展讯芯片
- python 动态创建类 type
- Gallery Set与Probe set
- java语言实现ArrayList,LinkedList,Heap,Stack
- TCP/IP详解学习笔记(10)-TCP连接的建立与中止
- Hibernate框架工作流程
- Java中的传递机制
- 使用Python实现Aho-corasick自动机