02-数据结构-线性表

线性表的特点:

(1)存在惟一一个被称为"第一个"的数据元素

(2)存在惟一一个被称为"最后一个"的数据元素

(3)除第一个之外,集合中每一个数据元素均只有一个前驱

(4)除最后一个之外,集合中每个数据均只有一个后继

线性表是n个数据元素的有限序列

线性表的List基本操作:

InitList(&L)//构造一个空线性表

DestroyList(&L)//消毁线性表

ClearList(&L)//清空

ListEmpty(L)//是否是空表

ListLength(L)//元素个数

GetElem(L,i,&e)//返回对应的元素

LocateElem(L,e,compare())//返回第1个满足对比关系元素的位置

PriorElem(L,cur_e,&pre_e)//cur_e是L的元素不是第一个, 返回他的前驱元素

NextElem(L,cur_e,&next_e)//cur_e是L的元素不是第一个, 返回他的后继元素

ListInsert(&L,i,e)//指定位置插入元素

ListDelete(&L,i,&e)//指定位置删除元素

ListTraverse(L,visit())//每一个元素调用visit()操作

1.线性表的顺序表示是指用一组地址连续的存储单元依次存储线性表的数据元素。

最常见的一种形式是数组。数组是线性表顺序表示的一种。

2.线性表的链式表示:不要求逻辑上相邻的元素在物理位置上也相邻,相比较顺序表示来说,优点:插入和删除操作,无需移动大量元素,速度更快,扩展性强。缺点:无法随机存取

(1).线性链表(单链表)

(2).循环链表

(3).双向链表

相关推荐
云泽80811 小时前
不止是命令:Linux 高频指令实战 + 芯片架构底层逻辑
linux·运维·服务器
j_xxx404_11 小时前
Linux:基础IO
linux·运维·服务器
wdfk_prog12 小时前
[Linux]学习笔记系列 -- [drivers][i2c]i2c-dev
linux·笔记·学习
Trouvaille ~13 小时前
【Linux】网络编程基础(二):数据封装与网络传输流程
linux·运维·服务器·网络·c++·tcp/ip·通信
旅途中的宽~14 小时前
【深度学习】通过nohup后台运行训练命令后,如何通过日志文件反向查找并终止进程?
linux·深度学习
dump linux15 小时前
内核驱动调试接口与使用方法入门
linux·驱动开发·嵌入式硬件
Trouvaille ~15 小时前
【Linux】网络编程基础(三):Socket编程预备知识
linux·运维·服务器·网络·c++·socket·网络字节序
笑锝没心没肺15 小时前
Linux Audit 系统配置介绍
linux·运维·服务器
小义_15 小时前
【RH134知识点问答题】第6章 管理 SELinux 安全性
linux·网络·云原生·rhel
魏波.15 小时前
主流 Linux 发行版有哪些?
linux