美文网首页
0x02线性表

0x02线性表

作者: itime | 来源:发表于2020-04-02 09:41 被阅读0次

线性表

线性表,全名为线性存储结构
将具有“一对一”关系的数据“线性”地存储到物理空间中,这种存储结构就称为线性存储结构(简称线性表)。

对于非空的线性表和线性结构,其特点如下:

存在唯⼀的⼀个被称作”第⼀个”的数据元素;
存在唯⼀的一个被称作”最后⼀个"的数据元素 除了第一个之外,结构中的每个数据元素均有⼀个前驱 除了最后⼀个之外,结构中的每个数据元素都有一个后继.

注意
使用线性表存储的数据,如同向数组中存储数据那样,要求数据类型必须一致,也就是说,线性表存储的数据,要么全不都是整形,要么全部都是字符串。一半是整形,另一半是字符串的一组数据无法使用线性表存储。

线性表存储结构可细分为:
-顺序存储结构
-链式存储结构

ADT List {

Data: 线性表的数据对象集合为{a1,a2,......an},每个元素的类型均为DataType. 其中,除了第一个元素a1外,每⼀个元素有且
只有⼀个直接前驱元素,除了最后⼀个元素an外,每个元素有且只有⼀个直接后继元素. 数据元素之间的关系是⼀对一的关系.

Operation

InitList(&L)

操作结果:初始化操作,建⽴一个空的线性表L.

DestroyList(&L)

初始条件: 线性表L已存在
操作结果: 销毁线性表L.

ClearList(&L)

初始条件: 线性表L已存在
操作结果: 将L重置为空表.

ListEmpty(L)

初始条件: 线性表L已存在
操作结果: 若L为空表,则返回true,否则返回false.

ListLength(L)

初始条件: 线性表L已存在
操作结果: 返回L中数据元素的个数

GetElem(L,i,&e)

初始条件: 线性表L已存在,且1<=i<ListLength(L)
操作结果: ⽤e返回L中第i个数据元素的值;

LocateElem(L,e)

初始条件: 线性表L已存在
操作结果: 返回L中第1个值与e相同的元素在L中的位置. 若数据不存在则返回0;

PriorElem(L, cur_e,&pre_e);

初始条件: 线性表L已存在
操作结果: 若cur_e是L的数据元素,且不是第⼀个,则用pre_e返回其前驱,否则操作失败.

NextElem(L, cur_e,&next_e);

初始条件: 线性表L已存在
操作结果: 若cur_e是L的数据元素,且不是最后一个,则用next_e返回其后继,否则操作失败.

ListInsert(L,i,e);

初始条件: 线性表L已存在,且1<=i<=listLength(L)
操作结果: 在L中第i个位置之前插入新的数据元素e,L长度加1.

ListDelete(L,i);

初始条件: 线性表L已存在,且1<=i<=listLength(L) 操作结果: 删除L的第i个元素,L的长度减1.

TraverseList(L);

初始条件: 线性表L已存在
操作结果: 对线性表L进行行遍历,在遍历的过程中对L的每个结点访问1次.

}ADT List.

单链表:

单链表的逻辑状态 增加头结点的单链表逻辑状态

增加头结点的好处:
1、便于首元节点的操作;
2、便于非空链表和链表的操作统一;

空链表 非空链表

相关文章

  • 0x02线性表

    线性表 线性表,全名为线性存储结构将具有“一对一”关系的数据“线性”地存储到物理空间中,这种存储结构就称为线性存储...

  • 线性表的相关操作

    集合 --- 创建线性表 解散 --- 销毁线性表 长度 --- 得到线性表的长度 出列 --- 从线性表删除一个...

  • [数据结构]第二章线性表(1)——线性表

    线性表 线性表的基本概念 线性表的定义 线性表是具有相同数据类型的n(n>=0)个元素的有限序列。 线性表的基本操...

  • 数据结构与算法(二)

    线性表及其顺序存储结构 线性表的基本概念 线性结构又称为线性表,线性表是最简单也是最常用的一种数据结构。 线性表的...

  • 线性表及应用

    线性表 “线性表(List):零个或多个数据元素的有限序列。” 线性表的顺序存储结构 线性表的顺序存储结构,指的是...

  • pwntools使用

    0x01 连接 0x02 IO模块

  • 数据结构03-线性表之顺序表

    第三章 线性表之顺序表 第三章 线性表之顺序表一、什么是线性表?1> 概念2> 线性表的基本操作二、线性表的顺序存...

  • 数据结构之线性表

    1、线性表-顺序表线性表-顺序表

  • 线性表数据结构

    线性表 线性表就是数据排成像一条线的结构,每个线性表上的数据最多只有前和后两个方向。与线性表对立的是非线性表,如二...

  • 大话数据结构 - 线性表

    代码GitHub地址 线性表 线性表需要相同的数据类型 线性表的处理方式都是先取代,后目的。比如删除链式线性表的某...

网友评论

      本文标题:0x02线性表

      本文链接:https://www.haomeiwen.com/subject/gxmzuhtx.html