单链表创建问题总结
單鏈表創(chuàng)建的問(wèn)題
一,鏈表有無(wú)頭結(jié)點(diǎn)的區(qū)別
什么是頭結(jié)點(diǎn):
在鏈表第一個(gè)元素結(jié)點(diǎn)之前設(shè)置的第一個(gè)結(jié)點(diǎn),數(shù)據(jù)域可以不存任何信息,指針域指向單鏈表的第一個(gè)元素的結(jié)點(diǎn)叫做頭結(jié)點(diǎn)。
有頭結(jié)點(diǎn)的作用:
- 能夠表示空鏈表,當(dāng)只有頭結(jié)點(diǎn)的時(shí)候就是空鏈表
- 減少了單鏈表添加刪除時(shí)特殊情況的判斷,減少了程序的復(fù)雜性,主要是添加和刪除在第一個(gè)有元素的結(jié)點(diǎn)上有區(qū)別,如果鏈表沒(méi)有頭結(jié)點(diǎn),刪除或者添加時(shí)都要判斷一次首元素結(jié)點(diǎn),有了頭結(jié)點(diǎn)以后,首元結(jié)點(diǎn)實(shí)際為鏈表的第二個(gè)結(jié)點(diǎn),使得所有的元素結(jié)點(diǎn)的添加和刪除更具有統(tǒng)一
二,頭插法和尾插法
頭插法和尾插法的本質(zhì)區(qū)別
新增結(jié)點(diǎn)插入鏈表的位置不同,頭插法是新增結(jié)點(diǎn)總是插在頭部,尾插法是將新增結(jié)點(diǎn)插在鏈表尾部
頭插法的思路
尾插法的思路
總結(jié)
- 上一篇: 每日程序C语言42-带头结点的尾插法创建
- 下一篇: 每日程序C语言43-链表原地逆置