线性表的概念以及存储数据

Posted dj0216-hwk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性表的概念以及存储数据相关的知识,希望对你有一定的参考价值。

一.定义

线性表是最简单也是编程中使用最多的一种数据结构。

例如英文字母表,成绩单 线性表(Linear List)是具有相同特性的数据元素的一个有限序列,是对线性结构的抽象 。

线性结构的特点是结构中的数据元素在位置上有序,并且元素之间存在一对一的线性关系。

(1)除第一个位置的数据元素外,其它数据元素位置的前面都只有一个数据元素;

(2)除最后一个位置的数据元素外,其它数据元素位置的后面都只有一个元素。 也就是说,数据元素是一个接一个的排列。

线性表就是位置有先后关系,一个接着一个排列的数据结构。

技术图片

几个关键的地方。
首先它是一个序列。线性表强调是有限的。事实上,在计算机中处理的对象都是有限的,那种无限的数列,只存在于数学的概念中。

如果用数学语言来定义。可如下:
若将线性表记为(a1,…,ai-1,ai,ai+1,…,an),则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当i = 1,2,…,n-1时,ai有且仅有一个直接后继,当i = 2 , 3 , … , n时,ai有且仅有一个直接前驱。

所以线性表元素的个数n(n ≥ 0)定义为线性表长度,当n=0时,称为空表。

在非空表中的每个数据元素都有一个确定的位置,如a1是第一个数据元素,an是最后一个数据元素,ai是第i个数据元素,称i为数据元素ai在线性表中的位序。

二、线性表的抽象数据类型

线性表的抽象数据类型:

ADT List

Data

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

Operation

InitList(*L);  //初始化操作,建立一个空的线性表

    ListEmpty(L);  //若线性表为空,返回true,否则返回false

    ClearList(*L);  //清空线性表

    GetElem(L,i,*e);  //查找线性表中的第i个位置的元素值,并赋值给e

    LocateElem(L,e);  //查找线性表L中与给定值e相等的元素,如果查找成功,则返回第一个相同的元素在L,中的下标;否则,返回0表示失败

    ListInsert(*L,i,e);  //在线性表L的第i个位置插入元素e

    ListDelete(*L,i,*e);  //删除线性表L中第i个位置元素,并用e返回其值

    ListLength();  //返回线性表L的长度

end ADT

 

 技术图片



以上是关于线性表的概念以及存储数据的主要内容,如果未能解决你的问题,请参考以下文章

《数据结构》复习之线性表(顺序表和链表)

线性表之顺序存储结构实现(上)

数据结构--线性表的链式存储结构

第21课 线性表的链式存储结构

线性表的链式存储结构

数据结构之顺序表