数据结构(知识点004)
第二章 线性表
本章主要介绍:
1.什么是线性表 2.顺序表及初始化过程详解 3.顺序表以及基本操作 4.链表(链式存储结构)及创建(C语言详解版)
5.链表的基本操作 6.顺序表和链表的优缺点 7.静态链表及实现 8.静态链表基本操作 9.静态链表和动态链表区别详解
10.循环链表(约瑟夫环)的建立及C语言实现 11.双向链表及其创建 12.双向链表基本操作 13.双向循环链表及创建
13.数据结构实现项目——俄罗斯轮盘赌小游戏
注:大家可参考http://data.biancheng.net网页具体的详细的讲述数据结构知识点,本文为摘抄自该网站认为重要的知识点。
2.1 什么是线性表
线性表是具有相同数据类型的 n ( n >= 0)个数据元素的有限序列,其中 n 为表长,当 n = 0 时,线性表是一个空表。
若用L命名线性表,则一般表示为 L = (a1,a2,a3,a4,......,a(i+1),a(n) );
式中a1是唯一的“第一个”数据元素,又称为表头元素;a(n) 是唯一的“最后一个”数据元素,又称表尾元素。
除第一个元素外,每个元素有且仅有一个直接前驱。除最后一个元素外,每个元素有且仅有一个直接后继。
2.1.1顺序存储结构和链式存储结构 (见上一篇博客)
2.1.2前驱和后继(见上一篇博客)
注意:除第一个元素外,每个元素有且仅有一个直接前驱。除最后一个元素外,每个元素有且仅有一个直接后继。
2.1.3线性表的特点
- 表中元素的个数有限;
- 表中元素具有逻辑上的顺序性,表中元素由先后次序;
- 表中元素都是数据元素,每个元素都是单个元素;
- 表中元素的数据类型都相同,这意味着每个元素占有相同大小的存储空间;
线性表是一种逻辑结构,表示元素之间一对一的相邻关系。顺序表和链表是指存储结构,两者属于不同层面的概念,因此不要将其混淆。
2.1.4线性表的基本操作 (简单讲解 后续会详细介绍)
InitList(&L) 初始化表
Length(L) 求表长
LocateElem(L,e) 按值查找操作
GetElem(L,i) 按位查找操作
ListInsert(&L,i,e) 插入操作
ListDelete(&L,i,e) 删除操作
PrintList(L) 输出操作
Empty(L) 判空操作
DestroyList(&L) 销毁操作