线性表 顺序结构

本文探讨了线性表的顺序结构,包括静态数组的初始化,动态分配内存及其初始化,以及在线性表中增加、删除数据和按值查找的操作。动态分配在后期增删数据时表现出灵活性,只需重新申请空间。
摘要由CSDN通过智能技术生成

静态数组存放数据以及初始化

#define MaxSize 50//定义最大长度
typedef struct{
	int data[MaxSize];
	int length;//顺序表当前长度 
}Sqlist; 
 void InitList(Sqlist &L)//初始化 
{
	L.length=0;
 }

动态分配以及初始化
动态分配后期增加动态数组简单,只需要只需要重新申请空间即可

#define InitSize 50//默认最大长度,后期可以增加长度 
typedef struct{
	int *data;//指向动态分配数组的地址(存储空间的首个字节地址)
	int MaxSize;
	int length;
}Sqlist;
void InitList(Sqlist &L)
{
	L.data=(int *)malloc(InitSize*sizeof(int));
	L.MaxSize=InitSize; 
	L.length=0;
 } 
 void IncreaseSize(Sqlist &L,int len)//增加动态数组长度 
 {
 	int *p=L.data;
 	L.data=(int *)malloc((L.MaxSize+len)*sizeof(int));//重新申请空间 
 	for(int i=0;i<L.length;i++)
 	{
 		L.data[i]=p[i];
	 }
	 L.MaxSize=L.MaxSize+len;
	 free(p);//释放p 
  } 

增加数据

bool ListInsert(Sqlist &L,int i,int e){//在第i个位置插入元素e 
 	if(i<1||i>L.le
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值