数据结构代码学习

这篇博客探讨了数据结构中的顺序表实现,包括静态和动态分配方式,详细介绍了顺序表的插入、删除和按值查找操作。此外,还讨论了单链表节点的定义,如何进行后插操作以及如何通过尾插法建立单链表。
摘要由CSDN通过智能技术生成

静态分配方式实现顺序表

//静态分配方式实现顺序表
#define MaxSize 10//定义最大长度
typedef struct{
   
	ElemType data[MaxSize];
	//用静态的“数组”存放数据元素
	int length;//顺序表的当前长度
}SqList;//顺序表的类型定义

动态分配方式实现顺序表

typedef struct{
   
	int *data;
	int MaxSize;//指示动态分配数组的指针
	int length;
}SeqList;
void InitList(SeqList &L){
   
	L.data = (int*)malloc(InitSize*sizeof(int));
	//这片存储空间大小为能存得下10个int类型的大小10*4=40
	//用malloc函数申请一片连续的存储空间  
	//转换为指针相统一的数据类型 int,并把malloc返回的指针值赋给data
	//malloc返回的是一整片连续空间的起始地址指向 data[0]
	L.length = 0;
	L.MaxSize = InitSize;//把最大容量设为初始值
}
//设计一个函数,动态的增加数组的长度
void IncreaseSize(SeqList &L, int len){
   
	//len表示需要拓展的长度
	int *p = L.data;
	//malloc申请的空间 除了能存储当前所有的元素还能存储增加的元素
	//用for循环把以前的数据转移过来
	for (int i = 0; i < L.length; i++){
   
		L.data[i] = p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值