数据结构之动态数组的顺序查找

本文介绍了数据结构中的顺序查找方法,针对动态数组和链表进行了讲解。重点阐述了如何创建动态数组并进行链式查找,包括动态数组的结构体设计、初始化过程、遍历查找及主函数的实现,最后展示了完整代码和查找结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从头来过之数据结构顺序查找

顺序查找

针对顺序表(类似数组) 通过索引(下标)自增或自减进行顺序查找(比链式查找快)
针对链表 通过每个结点的next指针进行查找

创建动态数组进行链式查找

动态数组的创建是在堆里面
可以按照自己需要的个数创建对应的动态数组
通过随机数的方法进行初始化数据

动态数组的结构体

//20230110 对动态数组使用顺序查找

typedef int ElemType;
//定义动态数组的结构体
typedef struct {
   
	ElemType* elem;//整型指针 存在堆中
	int TableLen;//动态数组的长度
}SSTable;

动态数组的初始化

在创建数组时 多创建一个元素进行 哨兵的职责
方便于后续顺序查找时,避免访问越界

//动态数组的初始化
void initt_SSTable(SSTable& st,int len) {
   
	st.TableLen = len + 1;//多申请的一个位置用来做哨兵
	st.elem = (ElemType*)malloc(sizeof(ElemType) * st.TableLen);//为动态数组申请存储空间
	int i;
	srand(time_t(NULL));//用来申请随机数
	for (i = 0; i < st.TableLen; i++) {
   
		st.elem[i] = rand() % 100;//将生成的随机数存入导动态数组中
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值