插入排序

原创 2016年08月30日 00:20:19
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
#define MAXSIZE 10
typedef int KeyTape;
typedef struct 
{
KeyTape key;
//。。。。。。其他信息
}RedType;
typedef struct{
RedType r[MAXSIZE + 1];//r[0]做哨兵
int length;
}SqList;
//直接插入排序
void InsertSort(SqList *L)
{
for (int i = 2; i <= L->length; i++)
{
if (L->r[i].key<L->r[i-1].key)
{
L->r[0] = L->r[i];
L->r[i] = L->r[i - 1];
int j;
for (j = i-2;L->r[0].key<L->r[j].key; j--)
{
L->r[j + 1] = L->r[j];
}
L->r[j + 1] = L->r[0];
}
}
}
//打印关键字
void PrintList(SqList  L)
{
for (int i = 1; i <= L.length; i++)
{
printf("%d  ",L.r[i].key);
}
printf("\n");
}
int main()
{
SqList L;
srand(time(0));
L.length = 5;
for (int i = 1; i <=L.length; i++)
{
L.r[i].key = rand() % 100 + 1;
}
PrintList(L);
InsertSort(&L);
PrintList(L);
return 0;

}


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

C++实现插入排序

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

新手学习数据结构与算法---直接插入排序

直接插入排序: 时间复杂度:O(n^2) 一步一步记录自己成长的点滴,欢迎大家的建议。 //插入排序算法,以数组为实例,主要先理解算法 #include #define MAX 11...
  • zsjgs
  • zsjgs
  • 2011年10月16日 10:12
  • 374

插入排序(C语言实现)

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

宁波赛 2010 T3 插入排序 线段树

【题目描述】     有依次排列的一列数a1,a2,a3,…,an-1,an。你可以随便把一个数拿出,插到最前面(当前第1个数a1前)、最后面(当前最后一个数an后面)、或者剩余数列中任意的相邻两个数...

插入排序的方法

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

直接插入排序的C实现

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

c语言练习 插入排序 gcd求解

12月7随笔else if 语句使用时注意在判断中只进入一次。if(year % 4 ==0){ if(year % 100!= 0) } else if(year % 400 ==0) ...

插入排序源代码

  • 2013年07月31日 08:39
  • 585B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:插入排序
举报原因:
原因补充:

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