線性表

線性結(jié)構(gòu)是最常用、最簡單的一種數(shù)據(jù)結(jié)構(gòu)。而線性表是一種典型的線性結(jié)構(gòu)。其基本特點是線性表中的數(shù)據(jù)元素是有序且是有限的。在這種結(jié)構(gòu)中:
?、?存在一個唯一的被稱為“第一個”的數(shù)據(jù)元素;
?、?存在一個唯一的被稱為“最后一個”的數(shù)據(jù)元素;
?、?除第一個元素外,每個元素均有唯一一個直接前驅(qū);
?、?除最后一個元素外,每個元素均有唯一一個直接后繼。

線性表的定義

線性表(Linear List) :是由n(n≧0)個數(shù)據(jù)元素(結(jié)點)a1,a2, …an組成的有限序列。該序列中的所有結(jié)點具有相同的數(shù)據(jù)類型。其中數(shù)據(jù)元素的個數(shù)n稱為線性表的長度。

  • 當n=0時,稱為空表。
  • 當n>0時,將非空的線性表記作: (a1,a2,…an)
  • a1稱為線性表的第一個(首)結(jié)點,an稱為線性表的最后一個(尾)結(jié)點。
  • a1,a2,…ai-1都是ai(2≦i≦n)的前驅(qū),其中ai-1是ai的直接前驅(qū);
  • ai+1,ai+2,…an都是ai(1≦i ≦n-1)的后繼,其中ai+1是ai的直接后繼。

線性表的順序存儲結(jié)構(gòu)

順序存儲 :把線性表的結(jié)點按邏輯順序依次存放在一組地址連續(xù)的存儲單元里。用這種方法存儲的線性表簡稱順序表。
順序存儲的線性表的特點:

  • 線性表的邏輯順序與物理順序一致;
  • 數(shù)據(jù)元素之間的關(guān)系是以元素在計算機內(nèi)“物理位置相鄰”來體現(xiàn)。

設(shè)有非空的線性表:(a1,a2,…an) 。順序存儲如下圖1-1所示。
設(shè)線性表的每個元素需占用l個存儲單元,以所占的第一個單元的存儲地址作為數(shù)據(jù)元素的存儲位置。則線性表中第i+1個數(shù)據(jù)元素的存儲位置LOC(ai+1)和第i個數(shù)據(jù)元素的存儲位置LOC(ai)之間滿足下列關(guān)系:
LOC(ai+1)=LOC(ai)+l
線性表的第i個數(shù)據(jù)元素ai的存儲位置為:
LOC(ai)=LOC(a1)+(i-1)*l

圖1-1.png

線性表的鏈式存儲結(jié)構(gòu)

__鏈式存儲 __:用一組任意的存儲單元存儲線性表中的數(shù)據(jù)元素。用這種方法存儲的線性表簡稱線性鏈表。
  存儲鏈表中結(jié)點的一組任意的存儲單元可以是連續(xù)的,也可以是不連續(xù)的,甚至是零散分布在內(nèi)存中的任意位置上的。
  鏈表中結(jié)點的邏輯順序和物理順序不一定相同。

為了能正確表示結(jié)點間的邏輯關(guān)系,在存儲每個結(jié)點值的同時,還必須存儲指示其后繼結(jié)點的地址(或位置),稱為指針或鏈(link)

鏈表的結(jié)點結(jié)構(gòu)
┌───┬───┐
│data │next │
└───┴───┘
data域--存放結(jié)點值的數(shù)據(jù)域
next域--存放結(jié)點的直接后繼的地址(位置)的指針域(鏈域)
注意:
①鏈表通過每個結(jié)點的鏈域?qū)⒕€性表的n個結(jié)點按其邏輯順序鏈接在一起的。
②每個結(jié)點只有一個鏈域的鏈表稱為單鏈表(Single Linked List)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.線性表的定義 線性表:零個或多個數(shù)據(jù)元素的有限序列序列:也就是說元素之間是有順序的,若元素存在多個,則第一個元...
    e40c669177be閱讀 2,210評論 6 15
  • 3.2 線性表的定義 線性表,從名字上你就能感覺到,是具有像線一樣的性質(zhì)的表。 零個或多個數(shù)據(jù)元素的有限序列。 這...
    努力生活的西魚閱讀 1,059評論 0 1
  • 從數(shù)據(jù)的邏輯結(jié)構(gòu)來分,數(shù)據(jù)元素之間存在的關(guān)聯(lián)關(guān)系被稱為數(shù)據(jù)的邏輯結(jié)構(gòu)。歸納起來,應(yīng)用程序中的數(shù)據(jù)大致喲如下四種基本...
    Jack921閱讀 1,174評論 0 2
  • 大學的時候不好好學習,老師在講臺上講課,自己在以為老師看不到的座位看小說,現(xiàn)在用到了老師講的知識,只能自己看書查資...
    和玨貓閱讀 1,564評論 1 3
  • 我這個人,自尊心很強,但能力一般,意志力又差,沒有什么過人之處,可以總結(jié)為死要面子的屌絲一枚。這就很矛盾了,沒實力...
    皮德拉閱讀 392評論 6 3

友情鏈接更多精彩內(nèi)容