線性表簡述

2021-08-09 21:46:53 字數 1557 閱讀 5183

線性表(list):由零個或多個資料元素組成的有限序列。

1線性表基本操作

initlist(*l): 初始化操作,建立乙個空的線性表l。

listempty(l): 判斷線性表是否為空表,若線性表為空,返回

true

,否則返回

false。

clearlist(*l): 將線性表清空。

getelem(l,i,*e): 

將線性表

l中的第

i個位置元素值返回給e。

l中查詢與給定值

e相等的元素,如果查詢成功,返回該元素在表中序號表示成功;否則,返回

0表示失敗。 l

中第i個位置插入新元素e。

listdelete(*l,i,*e): 刪除線性表l中第

i個位置元素,並用

e返回其值。

listlength(l): 返回線性表

l的元素個數。

2 順序儲存結構為何會造成儲存空間的「碎片化」

順序儲存結構的缺點:插入和刪除需要移動大量的物件;儲存裝置的碎片化;當線性表過大時,很難確定長度。

3靜態鍊錶有什麼優點?適用哪些地方?

靜態鍊錶的初始長度一般是固定的,在做插入和刪除操作時,不需要移動元素,僅需要修改指標,故仍具有鏈式儲存結構的主要優點;一般在沒有指標的語言中,靜態鍊錶是陣列實現鍊錶的一種方法

4迴圈鍊錶和雙向鍊錶的優點在哪

雙向鍊錶由於另外儲存了指向鍊錶內容的指標,並且可以會修改相鄰的結點,有時候第乙個結點可能會被刪除,或者在之前新增乙個新的結點,這時候就要修改指向首個節點的指標。

有一種可以消除這種特殊情況的方法是在最後乙個節點之後,第乙個結點之前儲存乙個永遠不會被刪除或移動的虛擬結點,形成迴圈鍊錶。這個虛擬結點之後的結點是真正的第乙個結點,這種情況通常可以用這個虛擬結點直接表示這個鍊錶

5鏈式儲存結構有哪些型別

線性儲存結構有順序,連線,索引,雜湊四種;非線性儲存結構有樹形儲存結構,圖形儲存結構

6順序儲存結構中,資料長度和線性表長度有什麼區別

陣列長度是存放線性表的儲存空間的長度,儲存分配後這個量一般是不變的;

線性表的長度是線性表中資料元素的個數,隨著線性表插入和刪除操作的進行,這個量是變化的

7雙向鍊錶刪除元素時操作順序能不能反了

只要在改動前把指標成員把指標成員儲存在乙個臨時變數裡就可以了,隨便先改哪個都無所謂。

8順序儲存結構現在還有那些應用

若線性表需要頻繁查詢,很少進行插入和刪除操作時,宜採用順序儲存結構

9 單鏈表

指標域中儲存的資訊稱為指標或鏈。這兩部分資訊組成資料元素稱為儲存映像,或稱為結點(node)。

n個結點鏈結成乙個鍊錶,即為線性表

(a1, a2, a3,

…, an)

的鏈式儲存結構。因為此鍊錶的每個結點中只包含乙個指標域,所以叫做單鏈表。

10 什麼是指標域

鏈式儲存結構中,除了要儲存資料元素資訊外,還要儲存它的後繼元素的儲存位址(指標)。也就是說除了儲存其本身的資訊外,還需儲存乙個指示其直接後繼的儲存位置的資訊。我們把儲存資料元素資訊的域稱為資料域,把儲存直接後繼位置的域稱為指標域。

鏈式線性表和順序線性表

在這裡插入 片 線性表的儲存結構 typedef struct seqlist typedef struct seqlist 順序表基本操作 初始化順序表在這裡插入 片 intseqlist init seqlist list,int size 插入資料元素在這裡插入 片 intseqlist in...

線性表演算法題庫 線性表習題

鍊錶。若指標p指向某結點時,能夠根據該指標找到其直接後繼,能夠順後繼指標鏈找到p結點後的結點。但是由於不知道其頭指標,所以無法訪問到p指標指向的結點的直接前趨。因此無法刪去該結點。2.雙鏈表。由於這樣的鍊錶提供雙向指標,根據p結點的前趨指標和後繼指標可以查詢到其直接前趨和直接後繼,從而可以刪除該結點...

刪除線性表節點 線性表

submit 81 solved 66 submit status web board 已知長度為n的線性表a採用順序儲存結構,請寫一時間複雜度為0 n 空間複雜度為0 1 的演算法,該演算法刪除線性表中所有值為item的資料元素。o 1 表示演算法的輔助空間為常量 輸入 n 6 輸入資料 1 2 ...