資料結構 線性表

2021-10-16 01:40:58 字數 1321 閱讀 2759

廢話不多說,開門見山。線性表是什麼?線性表是具有相同資料型別的n個資料元素的有限序列。

若用l命名線性表,則一般表示為:

l =(

a1,a

2,..

,ai,

ai+1

,...

,an)

l = ( a1,a2,..,ai,ai+1,...,an)

l=(a1,

a2,.

.,ai

,ai+

1,..

.,an

)a1 為表頭元素,an為表尾元素;除第乙個元素外,每個元素有且僅有乙個直接前驅;除最後乙個元素外,每個元素有僅有乙個直接後繼。

注意:線性表是一種邏輯結構,而後面講的順序表和煉表是指儲存結構,屬於不同概念

1)initlist(&l):初始化表

2)length(l):求表長

3)locateelem(l, e):按值查詢操作

4)getelem(l, i ):按位查詢操作

5)listinsert(&l,i,e):插入操作

6)listdelete(&l,i,e):刪除操作

7)printlist(l):輸出操作

8)empty(l):判空操作

9)destorylist(l):銷毀操作

值傳遞,引用傳遞,指標傳遞

1、值傳遞:

voidf(

int x)

傳值傳的是原來實參的乙份拷貝,對形參進行操作不會改變實參的值。函式返回後,函式棧幀銷毀,這份拷貝也會自動被**。

2、引用傳遞:

voidf(

int& x)

傳引用什麼也沒建立,只是給實參起個別名,就像同學之間取外號一樣,張三是乙個同學,別人給他取名就二狗,那麼張三,二狗就是同乙個人。在這也是一樣的,對引用進行操作就等於對實參的操作,對引用的操作會影響原來的實參。

3、指標傳遞:

voidf(

int*

&x)

如果傳入的指標型變數,並且在函式體內要對傳入的指標進行改變,則可以按照上述編寫引數。

傳指標就是為實參傳建乙個指標變數,指標變數裡面存的就是實參的位址,對形參進行操作也會通過指標的間接訪問對實參進行修改,所以對形參的操作會影響原來的值。

如果喜歡的話,不妨關注一波,謝謝啦。

資料結構(線性表)

1.試寫一演算法,在無頭結點的動態單鏈表上實現線性表操作insert l,i,b 並和在帶頭結點的動態單鏈表上實現相同操作的演算法進行比較。status insert linklist l,int i,int b 在無頭結點鍊錶l的第 i個元素之前插入元素 belse insert 2.已知線性表中...

資料結構 線性表

參考 一 線性表 順序表 單鏈表 迴圈鍊錶 雙鏈表 順序表 1.表的初始化 void initlist seqlist l 2.求表長 int listlength seqlist l 3.取表中第i個結點 datatype getnode l,i 4.查詢值為x的結點 5.插入 具體演算法描述 v...

資料結構 線性表

線性表是最基礎的一種資料結構,這樣的資料物件包含的資料元素具有一對一的前驅後繼關係。按其邏輯儲存方式的不同可分為兩類線性表 順序表和鏈式表。其中鏈式表又可分為線性鍊錶 迴圈鍊錶和雙向鍊錶。下面分別介紹下這幾種線性表的資料結構 1.順序表 typedef struct sqlist 插入演算法 i到n...