插入排序

原创 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++实现插入排序

  • 2017年11月02日 22:26
  • 712B
  • 下载

插入排序(C语言实现)

  • 2014年11月30日 16:12
  • 926B
  • 下载

算法学习—001—js实现插入排序—insertSort

插入排序:对于少量元素比较有效。 工作方式:像排序一手扑克牌,开始时,我们的左手为空并且桌子上的牌面向下。然后,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置。为了找到一张牌的正确位置,我们从...

插入排序的方法

  • 2013年07月10日 12:12
  • 31KB
  • 下载

直接插入排序的C实现

  • 2013年05月16日 11:20
  • 495B
  • 下载

数据结构基础(3) --Permutation & 插入排序

Permutation(排列组合) 排列问题: 设R = {r1, r2, ... , rn}是要进行排列的n个元素, Ri = R-{ri}; 集合X中元素的全排列记为Permutati...

插入排序源代码

  • 2013年07月31日 08:39
  • 585B
  • 下载

直接插入排序

  • 2014年03月25日 15:22
  • 1.02MB
  • 下载

链表 操作3 双向链表的 插入排序法

昨天做了某公司的数据结构笔试题: 其中一个小功能 是要求对 双向链表进行 快速排序。   思想: 借用了  nginx 链表排序思想  head   prev next  假设: 从小到大排序 从...

插入排序的算法代码和描述

  • 2013年12月09日 09:14
  • 20KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:插入排序
举报原因:
原因补充:

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