关于直接排序的分析

原创 2013年12月03日 15:43:47

今天看了一下直接插入排序 我分享下我的想法吧

void InsertPass(SqList *L , int i )
{
	int j ; 
	//本算法实现将L->r[i]插入其中,并保持L->r[1...i]中记录按关
	for( i = 2 ; i<= L ->length ; ++i)
	{
		if(L->r[i].key<L->r[i-1].key) //判断是否是由小到大排序如果是则进行下一组
		{
			L->r[0] = L->r[i] ; // 复制为哨兵 目的是防止越界
			j = i - 1 ; // 与前一个数做比较
			while(L->r[0].key<L->r[j].key) //判断新进来的数应该放在哪(与以排好的数组的最后一个数比较)
			{
				L->r[j+1] = L->r[j] ; //如果一个数大于新进来的数则这个后移一位
				j--; //记住J--了 这时最后一个数已经比较完毕 到  前一个变为最后一个数了
			}
			L->r[j+1] = L->r[0] ;   // 由于前面的循环语句以L->r[0].key>=L->r[j].key结束 所以新进来的数因放在J+1这个数组下标中
		}
	}
}


相关文章推荐

浅谈直接插入排序算法思想以及时间复杂度分析

研究意义 直接插入排序是最基本的一种排序算法,其思想简单,容易掌握,对后期的学习也有一定的帮助。 必备知识(之后不在累述叙述) 排序:将一组杂乱无章的数据排列成一个按关键字有序的序列。 稳定性:关键...

排序算法—直接插入排序算法分析与实现(Python)

插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序,折半插入排序留到“查找”内容中进行...

直接插入排序的C实现

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

直接插入排序

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

数据结构和算法分析之排序算法--插入排序篇(直接插入排序和希尔排序)

排序算法的概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。本系列介绍的都是内部排序。 其中:...

直接插入排序

  • 2015年10月06日 22:02
  • 1.01MB
  • 下载

直接插入排序法和分治法

  • 2011年04月09日 03:05
  • 2KB
  • 下载

备战2015笔试之一直接插入排序

/* 直接插入排序的思路:将初始序列分为有序部分和无序部分两个序列。初始时有序序列为第一个元素 过程是:每次将无序部分的第一个元素拿出来与前面有序部分的最后一个元素比较,直到第一个位置或者遇到 ...

直接插入和选择排序算法

  • 2012年04月01日 17:52
  • 1KB
  • 下载

直接选择排序-flash演示

  • 2011年11月16日 14:47
  • 20KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于直接排序的分析
举报原因:
原因补充:

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