线性表概述

简介: 线性表概述

ba7e0e3cd1f96f02d13be746ac7e7d14.png


定义

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

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

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


特征

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


  特点特点

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


 线性表抽象数据类型描述线线性表抽象数据类型描

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

  • 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)
目录
相关文章
|
存储 算法 程序员
【C/C++ 线性表 简介】C/C++中的线性表探索:从标准库到自定义实现
【C/C++ 线性表 简介】C/C++中的线性表探索:从标准库到自定义实现
46 0
|
3月前
【数据结构】栈和队列(栈的基本操作和基础知识)
【数据结构】栈和队列(栈的基本操作和基础知识)
32 0
|
4月前
|
人工智能 算法 C语言
【408数据结构与算法】—线性表的定义和分析(二)
【408数据结构与算法】—线性表的定义和分析(二)
|
4月前
|
存储
数据结构 2.1 线性表的定义和基本操作
数据结构 2.1 线性表的定义和基本操作
26 0
|
8月前
|
存储 机器学习/深度学习 人工智能
《数据结构-第一章》之顺序表
《数据结构-第一章》之顺序表
|
9月前
|
存储 人工智能 算法
【数据结构】第二章 线性表
线性表是具有相同数据类型(值及包含的操作)的n个数据元素的有限序列(n为表长,n=0代表线性表是一个空表)。
103 0
|
10月前
|
存储 人工智能 Java
线性表入门
大家好,我是王有志。从今天开始就进入到数据结构的部分了,整体分为3个部分:线性表,树和图,从认识每种数据结构到它们的高级应用。今天我们先从最简单的的线性表和数组开始。
47 1
线性表入门
|
11月前
|
存储 机器学习/深度学习 人工智能
我爱啃书--线性表概述(大话数据结构)
我爱啃书--线性表概述(大话数据结构)
60 0
了解数据结构的栈和线性表基本操作的对比
栈(stack):是只允许在一端进行插入或者删除操作的线性表
75 0
|
存储
数据结构 第二章 线性表
数据结构 第二章 线性表
44 0
数据结构 第二章 线性表