單鏈表的整表創(chuàng)建:
單鏈表的創(chuàng)建不能像順序循序結(jié)構(gòu)一樣通過數(shù)組來創(chuàng)建泵肄,它的創(chuàng)建應(yīng)該根據(jù)實際情況來驮吱,因為單鏈表的生成是動態(tài)的雕憔,它從空表開始,一次建立各個元素結(jié)點并插入到鏈表中身笤。
單鏈表的整表創(chuàng)建思路:
1)聲明一個結(jié)點p和計數(shù)器變量i
2)初始化一個空鏈表
3)創(chuàng)建一個帶頭結(jié)點的單鏈表豹悬,這時頭結(jié)點的指針指向null
4)循環(huán)實現(xiàn)后繼結(jié)點的復(fù)制和插入
具體建立單鏈表的方法總結(jié):
1、頭插法:顧名思義液荸,頭插法就是從空表開始屿衅,生成新的結(jié)點,讀取數(shù)據(jù)存放進(jìn)這個新結(jié)點的數(shù)據(jù)域中莹弊,這個每一次生成的新結(jié)點都被插入到當(dāng)前的表頭上涤久,直到整個單鏈表創(chuàng)建完成。
一句話忍弛,新生成的結(jié)點要放在表頭的第一個位置响迂。
2、尾插法:和頭插法相反细疚,尾插法從空表開始蔗彤,生成新結(jié)點,讀取數(shù)據(jù)存放進(jìn)這個新結(jié)點的數(shù)據(jù)域中疯兼,這個每一次生成的新結(jié)點都被插入到當(dāng)前單鏈表的尾部然遏,直到整個鏈表創(chuàng)建完成。
單鏈表的整表刪除思路:
1)聲明兩個結(jié)點p和q
2)將第一個結(jié)點賦值給p,將下一個結(jié)點賦值給q(聲明結(jié)點q是因為在刪除前一個結(jié)點的時候會將前一個結(jié)點中指向下一個結(jié)點的指針域也釋放掉吧彪,通過q來存住下一個結(jié)點的位置待侵,就能繼續(xù)刪除啦)
3)循環(huán)執(zhí)行釋放p和將q賦值給p的操作。
4)記得最后要將單鏈表釋放掉姨裸,比如(*L)->next = NULL;