線性表的基本概念

   在咱們平常生活中,咱們作不少事情都須要排隊。好比:學生在食堂窗口打飯要排隊,去超市購物,在收銀臺付款時要排隊,甚至去醫院掛號也須要排隊。總之,隊列,在咱們平常中,很是常見。畢竟排隊,是遵照秩序的標誌,而遵照秩序是文明的標誌。咱們都想要生活在一個文明的國度,若是,一個國家沒有秩序,那狀況真的不堪設想。
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的元素個數。

相關文章
相關標籤/搜索