数据结构顺序表的基本操作—插入

#include 
#include 
#define MaxSize 10

typedef struct
{
	int data[MaxSize];    定义一个数组
	int length;    //顺序表当前长度
}SqList;    //定义一个顺序表

void InitList(SqList &L)
{
	int n;
	L.length=0;    //初始化顺序表的当前长度为0
	printf("你想输入几个数据:\n");
	scanf("%d",&n);
	if(n>=MaxSize)
	{
		printf("超出范围\n");
		exit(-1);
	}else{
		for(int i=0;iL.length+1)
	{
		return false;    //判断插入m是否在范围内,只能插入在第一个到现在长度+1(也就是插在尾巴上)范围内
	}
	if(L.length>=MaxSize)
	{
		return false;    //插入后的长度不能超过顺序表最大长度
	}
	for(int j=L.length;j>=m;j--)    //让j=当前顺序表的长度,m后的数据依次后移
	{
		L.data[j]=L.data[j-1];    
	}
	L.data[m-1]=e;    //让第m个数=e,但数组下标时m-1
	L.length++;        //插入一个后,表的原有长度+1

	return true;
}

int main()
{
	SqList L;
	InitList(L);
	ListInsert(L,3,3);
	printf("插入后的数据是:\n");
	for(int i=0;i

运行结果:

数据结构顺序表的基本操作—插入_第1张图片

你可能感兴趣的:(数据结构)