if(h=NULL) 改為if(null==h)試試。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、綏棱網(wǎng)站維護(hù)、網(wǎng)站推廣。
代碼如下:只需要一個(gè)首結(jié)點(diǎn)pHead,就能把鏈表找到,并倒置。
可以用遞歸,如果沒到鏈表尾,則遞歸查詢,否則輸出當(dāng)前值。下面只是算法表示,不能直接放到程序里編譯執(zhí)行。
我看這個(gè)鏈表應(yīng)該是帶頭的鏈表,所以for循環(huán)前的 p=q-next;應(yīng)該改成p=q;鏈表不是數(shù)組,樓主好像沒有完全理解鏈表。
單鏈表中頭結(jié)點(diǎn)有兩個(gè)作用:一是標(biāo)識(shí)該鏈表的存在,而是可以通過頭結(jié)點(diǎn)遍歷整個(gè)鏈表。
1、同時(shí)要開cstdlib頭文件 u-next=NULL;}int main(){head=newnode();//創(chuàng)建一個(gè)新的指針。 tail=head;for (int i=1;i=5;i++){tail-next=newnode();tail=tail-next;//你可以輸入數(shù)據(jù)然后存入指針中。
2、if(h=NULL) 改為if(null==h)試試。
3、)就好了,結(jié)束的判斷在循環(huán)里已經(jīng)有了。另外,程序結(jié)構(gòu)有個(gè)問題,雖然理論上沒有錯(cuò),但是看起來很難受,別人不容易理解,也不容易確定問題。最好是這樣,創(chuàng)建一個(gè)節(jié)點(diǎn),然后給它賦值,然后再把它接到鏈表中。
代碼如下:只需要一個(gè)首結(jié)點(diǎn)pHead,就能把鏈表找到,并倒置。
tail=head;for (int i=1;i=5;i++){tail-next=newnode();tail=tail-next;//你可以輸入數(shù)據(jù)然后存入指針中。比如scanf(%d,&tail-age);然后給tail-num什么的賦值。
1222324252627在creat_linklist()函數(shù)里,返回的鏈表是llist。在for循環(huán)之前,llist=NULL;進(jìn)入for循環(huán)中,當(dāng)i=0時(shí),讓llist=q,但是q-info是沒有賦過值的。
只有1個(gè)成員的結(jié)構(gòu)組成鏈表,功能:創(chuàng)建鏈表、增加節(jié)點(diǎn)、刪除節(jié)點(diǎn)、打印鏈表。