卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

c語(yǔ)言創(chuàng)建一個(gè)鏈表 C語(yǔ)言中,建立動(dòng)態(tài)單向鏈表,能幫我解釋清楚,里面的原理嗎,什么p1指向P2之類的?

C語(yǔ)言中,建立動(dòng)態(tài)單向鏈表,能幫我解釋清楚,里面的原理嗎,什么p1指向P2之類的?P1=(struct studinf*)malloc(sizeof(struct studinf))表示打開(kāi)一段str

C語(yǔ)言中,建立動(dòng)態(tài)單向鏈表,能幫我解釋清楚,里面的原理嗎,什么p1指向P2之類的?

P1=(struct studinf*)malloc(sizeof(struct studinf))

表示打開(kāi)一段struct studinf大小的內(nèi)存空間,并將該空間的第一個(gè)地址分配給P1

head=p1p2=P1//P2指向第一個(gè)空間

將指向P1的空間地址分配給P2

P2->next=P1//在這種情況下,P1指向第二個(gè)空格opened

是連接兩個(gè)空格的語(yǔ)句,通過(guò)*next指針連接;

將P1的值賦給P2的next,這樣節(jié)點(diǎn)P1之后的next就可以訪問(wèn)P2;

這實(shí)現(xiàn)了兩個(gè)節(jié)點(diǎn)的連接

首先,頭指針不能丟失,需要保存。P1從head指針得到head節(jié)點(diǎn)后,檢查指向當(dāng)前節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)是否為空,判斷是否為tail節(jié)點(diǎn)。如果不是尾部節(jié)點(diǎn),或者當(dāng)前節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)不為空,則會(huì)將P1分配給該下一個(gè)節(jié)點(diǎn),以在鏈表中查找下一個(gè)節(jié)點(diǎn),并且P1會(huì)在開(kāi)始時(shí)分配給該下一個(gè)節(jié)點(diǎn),存儲(chǔ)的頭指針將被清除,因此P1在操作后不能用作鏈頭指針。第二,當(dāng)生成一個(gè)新節(jié)點(diǎn)時(shí),它將通過(guò)new或malloc應(yīng)用空間,其返回值是指針。此時(shí),通常使用指針變量P2來(lái)接收指針,然后將列表尾部節(jié)點(diǎn)的下一個(gè)分配給P2的內(nèi)容,并且將P2指向的下一個(gè)分配給null以成為尾部節(jié)點(diǎn)。最后,如果需要在鏈表中插入,則需要一個(gè)指針P1指向當(dāng)前節(jié)點(diǎn),另一個(gè)P2指向當(dāng)前節(jié)點(diǎn)之后的節(jié)點(diǎn),然后將P1的下一個(gè)值賦給新節(jié)點(diǎn)指針,將新節(jié)點(diǎn)指針的下一個(gè)值賦給P2以完成插入。一般來(lái)說(shuō),所謂P1和P2是臨時(shí)輔助變量,為方便起見(jiàn),它們是中間變量。不需要保存為方便而應(yīng)用的作業(yè)變量。