void
main()
第一種:返回頭指標去接收建立好的鏈遍,但是這種方式在使用的時候必須要有指標變數來接受建立的鍊錶。這個不是強制要求的,別人在用我們寫的程式時候,即使鍊錶沒有被接收也可以,也不會報錯,不能強制別人去接收。所以這種方式不是很好。
/**
* 根據使用者輸入的資料建立乙個鍊錶
* */
node *
createlinklist()
last->next = p;
}else
}return head;
}
第二種:如果我們只是傳入指向結點的指標是無法改變函式外面的head的,所以我們要傳入指向結點指標的指標
第二種不可行!
第三種傳入指向結點指標的指標
/**
* 傳入指向結點指標的指標來建立鍊錶
* */
void
createlinklist2
(node *
*phead)
last->next = p;
}else
}}
第四種在工程中的拓展 自己在定義一種結構用來存放head, 這種方式的好處是我們可以在自己定義的結構中進行拓展。例如加上node *tail;
/**
* 第四種:自定一種結構來存放head
* */
typedef
struct _listlist;
void
createlinklist3
(list *plist)
last->next = p;
}else
}}
由於引數改變使用時要做一些改變
list mylist;
mylist.head =
null
;createlinklist3
(&mylist)
;//遍歷鍊錶
printf
("鍊錶中的資料\n");
for(node *p =
(&mylist)
->head;p;p= p->next)
C語言資料結構 建立鍊錶與銷毀鍊錶
鍊錶的物理儲存結構是用一組位址任意的儲存單元儲存資料 鍊錶結構中,儲存的每個資料元素記錄都存放到鍊錶的乙個結點 node 中,而每個結點之間由指標將其連線在一起。鍊錶存在以下特徵 2 鍊錶邏輯上連續,物理上並不一定連續儲存結點。3 只要獲得的頭結點,就可以通過指標遍歷整條鍊錶 鍊錶結點用c語言描述 ...
四種基本的資料結構
資料結構的定義 分為邏輯結構 元素之間有什麼關係 和儲存結構 元素之間怎麼儲存 通常有下列四類基本的結構 集合結構。該結構的資料元素間的關係是 屬於同乙個集合 線性結構。該結構的資料元素之間存在著一對一的關係。樹型結構。該結構的資料元素之間存在著一對多的關係。網狀結構。該結構的資料元素之間存在著多對...
四種基本的資料結構
通常有下列四類基本的結構 集合結構。該結構的資料元素間的關係是 屬於同乙個集合 線性結構。該結構的資料元素之間存在著一對一的關係。樹型結構。該結構的資料元素之間存在著一對多的關係。網狀結構。該結構的資料元素之間存在著多對多的關係。1.集合結構 所謂集合就收我們中學學的這個 若x是集合a的元素,則記作...