C语言实现了一个具有头结点的单链表(附完整源码)
實(shí)現(xiàn)了一個(gè)具有頭結(jié)點(diǎn)的單鏈表
- 有頭結(jié)點(diǎn)的單鏈表
- 實(shí)現(xiàn)了一個(gè)具有頭結(jié)點(diǎn)的單鏈表完整源碼
有頭結(jié)點(diǎn)的單鏈表
線性表的順序存儲(chǔ)結(jié)構(gòu)的特點(diǎn)是邏輯關(guān)系上相鄰的兩個(gè)元素在物理位置上也相鄰,因此可以隨機(jī)存取表中的任一元素。但是它在插入和刪除操作時(shí),需要移動(dòng)大量的元素。接下來的線性鏈表在物理位置上不相鄰,但邏輯位置上相鄰,所以它沒有順序存儲(chǔ)結(jié)構(gòu)所具有的弱點(diǎn),但同時(shí)也失去了順序表可隨機(jī)存取的優(yōu)點(diǎn)。
線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的特點(diǎn)是用一組任意的存儲(chǔ)單元存儲(chǔ)線性表的數(shù)據(jù)元素(這存儲(chǔ)單元可以是連續(xù)的,也可以是不連續(xù)的)。因此為了表示每個(gè)數(shù)據(jù)元素ai與其直接后繼數(shù)據(jù)元素ai+1之間的邏輯關(guān)系,對數(shù)據(jù)元素ai來說除了存儲(chǔ)本身的信息之外,還需存儲(chǔ)一個(gè)指示其直接后繼的信息。這兩部分信息組成數(shù)據(jù)元素ai的存儲(chǔ)映像,稱為結(jié)點(diǎn),它包括兩個(gè)域:其中存儲(chǔ)數(shù)據(jù)元素信息的域稱為數(shù)據(jù)域;存儲(chǔ)直接后繼存儲(chǔ)位置的域稱為指針域。指針域中存儲(chǔ)的信息稱為指針或鏈。n個(gè)結(jié)點(diǎn)鏈結(jié)成一個(gè)鏈表,即為線性表。
鏈表的每個(gè)結(jié)點(diǎn)中只包含一個(gè)指針域,故稱為線性鏈表或單鏈表。
整個(gè)鏈表的存取必須從頭指針開始進(jìn)行,頭指針指示鏈表中的第一個(gè)結(jié)點(diǎn)的存儲(chǔ)位置。同時(shí),由于最后一個(gè)數(shù)據(jù)元素沒有直接后繼,則線性鏈表中最后一個(gè)結(jié)點(diǎn)的指針為空。
實(shí)現(xiàn)了一個(gè)具有頭結(jié)點(diǎn)的單鏈表完整源碼
#in總結(jié)
以上是生活随笔為你收集整理的C语言实现了一个具有头结点的单链表(附完整源码)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言实现链表(附完整源码)
- 下一篇: 吃剩的香蕉能放在冰箱保鲜吗?