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