廢話不多說,開門見山。線性表是什麼?線性表是具有相同資料型別的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...