插入排序

原创 2015年07月09日 22:25:14

插入排序是一直最直接的排序方法,其基本思想在于每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,知道全部记录查完为止。其时间复杂度为

O(n^2),空间复杂度为O(1).具有稳定性


#include<iostream>
using namespace std;
void InsertSort(int *data,int len)
{
	if(data==NULL||len<=0)
		return;
	for(int i=1;i<len;i++)
	{
		int t=data[i];
		int j=i-1;
		while(j>=0&&data[j]>t)
		{
			data[j+1]=data[j];
			j--;
		}
		data[j+1]=t;
	}
}
void main()
{
	int data[]={49,38,65,97,76,13,27,49,55,4};
	int len=sizeof(data)/sizeof(int);
	InsertSort(data,len);
	for(int i=0;i<len;i++)
		cout<<data[i]<<" ";
	cout<<endl;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

插入排序算法之C++实现

插入排序,顾名思义其实现形式是插入. 在整个大小不一的队列中, 第一次: 从一个元素开始,将后面相邻的元素(第二个元素)提取出来,放在一个变量中暂时保存,然后和第二个元素前面的那个元素(第一个元素)做...
  • stzy00
  • stzy00
  • 2015年03月12日 23:31
  • 1506

排序算法(五)2-路插入排序

1、 2、 3、 4、 5、 6、 7、 8、
  • wwkaven
  • wwkaven
  • 2014年11月25日 08:07
  • 672

插入排序:2路插入排序原理分析及源码演示

原理2路插入排序是在直接插入排序的基础上进行优化:减少排序过程中元素移动的次数。不过需要额外增加n个辅助空间。关键思路把新增的辅助空间(n个元素的数组),当做一个环对待,再第一个元素插入之后(标记当前...
  • scuyxi
  • scuyxi
  • 2017年04月23日 22:07
  • 317

数据结构例程——插入排序之直接插入排序

本文是[数据结构基础系列(9):排序]中第2课时[插入排序之直接插入排序]的例程。1.直接插入排序#include #define MaxSize 20 typedef int KeyType; ...
  • sxhelijian
  • sxhelijian
  • 2015年11月28日 16:48
  • 3682

插入排序:表插入

所谓插入排序之表排序,是利用静态链表的形式,分两步完成排序。 一,对一个有序的循环链表,插入一新的元素,修改每个节点的后继指针的指向,使顺着这个指针的指向,元素是有序的。在这个过程中,我们不移动或交换...
  • zhangxiangDavaid
  • zhangxiangDavaid
  • 2014年06月02日 20:44
  • 2345

插入排序——深入浅出(图解)

一、基本思想通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入。插入排序非常类似于整扑克牌。在开始摸牌时,左手是空的,牌面朝下放在桌上。接着,一次从桌上摸起一张牌,并将...
  • as02446418
  • as02446418
  • 2015年08月17日 20:46
  • 1739

排序算法(三)——插入排序及改进

插入排序 基本思想 在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数找到相应位置并插入,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 ...
  • u012152619
  • u012152619
  • 2015年08月06日 00:04
  • 2771

带哨兵的插入排序

带有哨兵的插入排序算法的实现
  • ii1245712564
  • ii1245712564
  • 2014年12月22日 14:00
  • 2999

从VB来看-InsertionSort(VB插入排序)

插入排序(Insertion Sort) 它是通过不断将未排序数据插入有序序列,一次次循环加入待排序数据扩充有序序列部分,来达到最终的排序目的。很像我们平时发牌时一张张整牌的过程:我的习惯是先把最左...
  • u010349629
  • u010349629
  • 2016年08月04日 14:56
  • 1230

“深入理解”—插入排序算法

总结下自己对插入排序的理解。 插入排序算法思想:每趟将一个元素,按照其关键字的大小插入到它前面已经排序的子序列中,依此重复,直到插入全部元素。 插入排序包括:直接插入排序、二分插入排序以及希尔排序...
  • qq_25827845
  • qq_25827845
  • 2016年06月21日 17:57
  • 2634
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:插入排序
举报原因:
原因补充:

(最多只允许输入30个字)