数据结构——线性表

本文详细介绍了线性表的概念,包括顺序存储结构和链式存储结构。顺序存储使用数组实现,插入和删除操作可能涉及元素移动;链式存储以链表形式存储,插入和删除操作更灵活。同时,对比了两者在查找、插入删除及空间性能上的优缺点。
摘要由CSDN通过智能技术生成

数据结构——线性表

一、定义
线性表,从名字上就能感受到是具有像线一样的性质的表。就像排队的一队人,一个跟着一个排,有人在头,有人在尾,每个人知道前面是谁后面是谁,像一根线把他们串起来一样。它是一个由零个或者多个数据元素组成的有限序列。

二、线性表的顺序存储结构
1.定义:线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。
2.顺序表的存储方式:在C语言中,我们可以用一维数组来实现顺序存储结构。下面是顺序表的存储结构:

#define MAXSIZE 20                 //存储空间初始分配的量
typedef int ElemType;
typedef struct{
	ElemType data[MAXSIZE];        //存储数据元素,最大值为MSXSIZE
	int length;                                 //线性表当前长度
}SqList;                            

在这里插入图片描述
用数组存储顺序表要分配固定长度的数组空间,由于线性表要进行插入和删除操作,所以分配的数组空间要大于当前线性表的长度。
3、顺序存储结构的获取与插入与删除操作
获取元素操作:

#define OK 1               //前提是顺序表L存在,且1<=i<=ListLength(L)
#define ERROR
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值