【数据结构】- 线性表

线性表

基本概念

线性存储
顺序表

链式存储
单链表
双链表
循环链表
静态链表

线性表

  1. n(>=0)个数据元素的有限序列,记作(a1,…ai,ai+1,…an),其中ai是线性表中的数据元素,n是表的长度(n=0为空表,即表中不含任何元素)
  2. ai是线性表中的第i个元素线性表中的位序

逻辑特征(n>0)
存在唯一一个被称为第一个的数据元素(a1)
存在唯一一个被称为最后一个的数据元素(an)
除第一个数据元素外,其他元素均只有一个直接前驱
除最后一个数据元素外,其他元素均只有一个直接后继

线性表的定义和基本操作

InitList(&L) 构造一个空的线性表L
DestoryList(&L) 销毁L
ListEmpty(L) 判断L是否为空
ListLength(L) 求L的长度
PriorElem(L,cur_e,&pre_e) 求前驱的值
NextElem(L,cur_e,&next_e) 求后继的值
GetElem(L,i,&e) 取i位置数据元素的值
LocateElem(L,e,equal()) 在线性表中查找e
ListTraverse(L,visit()) 遍历线性表
ClearList(&L) 将L置为空表
ListInsert(&L,i,e) 在i位置插入值为e的数据元素
ListDelete(&L,i,&e) 删除i位置的数据元素

线性表的顺序表示(顺序表)

线性表
具有相同数据类型的n(n >=0 )个数据元素的有限序列
顺序表
用顺序存储的方式实现线性表顺序存储。把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。

线性表的链式表示(链表)

typedef struct LNode{
          // 定义单链表节点类型
	Elem
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值