线性表相关问题

本文详细介绍了线性表的顺序存储结构,包括顺序存储的定义、结构代码、数组长度与线性表长度的区别、获取元素、插入和删除操作。讨论了顺序存储结构的优缺点,并对比了头指针与头结点的概念。此外,还探讨了单链表的读取操作及其复杂度。
摘要由CSDN通过智能技术生成

1.顺序存储定义

线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。

线性表(a1,a2,......,an)的顺序存储示意图如下:

a1 a2 ... ai-1 ai ... an
2.顺序存储方式

线性表的顺序存储结构,说白了,和刚才的例子一样,就是在内存中找了块地儿,通过占位的形式,把一定内存空间给占了,然后把相同数据类型的数据元素依次存放在这块空地中。既然线性表的每个数据元素的类型都相同,所以可以用C语言(其他语言也相同)的一维数组来实现顺序存储结构,即把第一个数据元素存到数组下标为0的位置中,接着把线性表相邻的元素存储在数组中相邻的位置。

3.顺序存储的结构代码

/* 存储空间初始分配量 */
#define MAXSIZE 20             
/* ElemType类型根据实际情况而定,这里假设为int */
typedef int ElemType;          
typedef struct
{
    /* 数组存储数据元素,最大值为MAXSIZE */
    ElemType data[MAXSIZE];    
    /* 线性表当前长度 */
    int length;                
} SqList;

这里,我们就发现描述顺序存储结构需要三个属性:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值