线性表概述

2021-01-20 11:30:40 浏览数 (1)

定义

线性表(linear list)是具有相同的数据类型的n(n 0 ) 个数据元素的有限序列(有限序列是指序列中的元素个数是有限的,即序列的长度是有限的), 其中n为表长, 当n = 0 时线性表是一个空表. 若用L命名线性表, 其一般表示为

L = (, , ..., , , ..., )

线性表是一种逻辑结构, 讨论的是元素之间的逻辑关系, 表示元素之前一对一的相邻关系.后面的顺序表和链表是指存储结构, 他们之间属于不同层次的概念.

特征

  • 是唯一的"第一个数据元素", 又称表头元素.
  • 是唯一一个 "最后一个元素" 又称表尾元素.
  • 除第一个元素外, 每个元素有且仅有一个直接前驱.
  • 除最后一个元素外, 每个元素有且仅有一个直接后继.
  • 元素之间为一对一的线性关系.

特点

  • 表中的元素个数有限
  • 表中元素具有逻辑上的顺序性, 表中的元素有先后次序
  • 表中元素都是数据元素且每个元素都是单个元素
  • 表中元素的数据类型都相同(这意味着每个元素占有相同大小的存储空间)

线性表抽象数据类型描述

一个数据结构最基本操作是指最核心、最基本的操作。(其他复杂的操作可通过调用其基本操作来实现)

  • InitList(&L) 初始化表(构造空的线性表L)
  • Length(L) 求表长(即表 L 中数据元素的个数)
  • LocateElem(L, e) 按值查找操作
  • GetElem(L, i) 按位查找操作(查找表 L 中第 i 个位置的元素)
  • ListInsert(&L, i, e) 插入操作(在表 L 中第 i 位置插入 e 元素)
  • ListDelete(&L, i, &e) 删除操作
  • PrintList(L) 输出操作(按照前后顺序输出表 L 中的数据元素)
  • Empty(L) 判空操作(空 true 否则 false)
  • DestoryList(&L) 销毁操作(销毁并释放表 L)

0 人点赞