鍊錶
鍊錶是一種有序的列表,鍊錶的內容通常是存貯於記憶體中分散的位置上。而鍊錶串聯的方式有兩種:
0 1 2 3 4 5 6 7 8 9
isdata
this
aarray
!!6
8
1
39
不過這種鍊錶最大的缺點在於放入或刪除元素,常常要大量的移動其他元素,而且陣列的大小是固定的,缺乏使用彈性。
(2):第二種是以動態記憶體配置的鍊錶。乙個動態記憶體的配置鍊錶,是由許多的節點所鏈結而成的,每個節點包含了資料部分和指向鍊錶中下一節點的指標。以動態記憶體配置的鍊錶,在插入或刪除元素時,只需要將指標改變指向即可。
結構體型別定義:
struct s;
結構體變數的定義方式有3種:
(1)先定義結構體,後定義結構體變數。
struct s
struct s s1,s2;
(2)struct ss1,s2;
(3)只定義結構體變數:
struct s1,s2;
結構體巢狀:
struct timet;
struct datad;
結構體型別引用:----->結構體變數名.成員名
結構指標:
struct sts;
struct st*p;
定義了乙個結構體st的指標p,但其值是不確定的。通過下語句可以將結構體變數s的位址賦給p,使p指向結構體變數s。
p=&s; (其中&為去位址符號,&s表示結構體變數s的位址)
指標賦值後,通過指標即可訪問結構體中的成員,如:(*p).name (*p).***
另一種方式來訪問結構體成員,即運用運算子「——>」如下所示:p——>name ,p——>***.
結構體陣列指標:
#includestruct sts[3];
void main(),,};
struct st *p;
p=s;
for}
(++p)->num和(p++)->num的區別:
(1)(++p)->num:先使p的值加一,使p指向陣列的下乙個元素再訪問該結構體成員num。
(2)(p++)->num:先訪問元素的結構體成員num,再使p的值加一,指向下乙個元素。
結構體陣列指標p指向陣列有以下三種形式:
(1)p=s (2)p=&s (3)p=&s[0]
資料結構筆記 線性表(上)
線性表 零個或多個資料元素的有限序列。線性表,從名字上可以感覺到,是具有像線一樣的性質的表。官方定義 線性表 list 零個或多個資料元素的有限序列。注意 其結構如下圖 在較複雜的線性表中,乙個元素可以由若干個資料項組成。1 順序儲存定義 線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存...
資料結構2 線性表(上)
malloc詳解 線性表是乙個具有相同特性的資料元素的有限序列。線性表的邏輯表示為 a1,a2,ai ai 1,an 線性表的9個運算 線性表作用 存放資料 基本運算 如果是輸出型引數,要加 把線性表中的所有元素按照順序儲存 方法進行儲存。c語言複習 malloc 返回的是void 所以需要 轉換一...
資料結構(1) 線性表(上)
1 文字定義 具有相同資料型別的n n 0 個資料元素的有限序列。2 相關術語 n表長 n 0空表 a1表頭元素 an表尾元素 除了表頭元素,線性表中每個元素有且僅有乙個直接前驅 除了表尾元素,線性表中每個元素有且僅有乙個直接後繼。3 代數表示 l a1,a2,an 4 特點 元素個數有限 元素具有...