线性表的基本概念

   在咱们平常生活中,咱们作不少事情都须要排队。好比:学生在食堂窗口打饭要排队,去超市购物,在收银台付款时要排队,甚至去医院挂号也须要排队。总之,队列,在咱们平常中,很是常见。毕竟排队,是遵照秩序的标志,而遵照秩序是文明的标志。咱们都想要生活在一个文明的国度,若是,一个国家没有秩序,那状况真的不堪设想。
ide

   对于排队这种有限的序列,就是线性表。既然是序列,那也就意味着,线性表各个元素之间是有顺序的。除了第一个和最后一个元素外,其余的每个元素都有惟一的一个直接前驱元素和惟一的一个直接后继元素。
spa

wKiom1m4wxbTD8SeAAAsTmuTHS4496.jpg-wh_50

   那么,关于线性表的精准定义:
3d

若将线性表记为(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时,称为空表。
对象

        线性表的基本抽象数据类型有那么几种:
blog

  ADT 线性表 (list)
队列

  Data
get

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

 Operation
io

 InitList ( *L )        :  初始化操做,创建一个空的线性表。class

 ListEmpty ( L )        :  若线性表为空,返回ture,不然返回false。

 ClearList ( *L )       :   将线性表清空

 GetElem ( L, i, *e )     :   将线性表L中第i个位置的元素返回给e

 LocateElem ( L, e )     :   在线性表L中查找与给定元素e相等的元素,若查找成功,则返回该元素的下标,不然返回0表示失败。

 ListInsert ( *L, i, e )   :   在线性表L中第i个位置插入新元素e。

 ListDelete ( *L, i, e )  :   删除线性表L中第i个位置的元素,而且用e返回其值。

 ListLength ( L )      :   返回线性表L的元素个数。

相关文章
相关标签/搜索