首先,根據(jù)你給的信息,估計(jì)是有循環(huán)操作,另外,既然命名是temp,就表示它是個(gè)臨時(shí)變量,起到的作用可能只是變量傳值的一個(gè)中介,就像冒泡排序的時(shí)候,循環(huán)中,兩個(gè)變量值需要調(diào)換的時(shí)候,往往都是這樣,第一個(gè)變量值賦值給第二個(gè)變量,第二個(gè)變量值賦值給temp,最后把temp賦值給第一個(gè)變量。

目前創(chuàng)新互聯(lián)建站已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、樂(lè)業(yè)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
至于temp為什么要賦null值,還是因?yàn)橐h(huán)的原因,循環(huán)當(dāng)中,變量是要賦值多次的,
if ((h=(stud *)malloc(sizeof(stud)))==NULL)\\這一行的作用是什么?
這行是用來(lái)分配空間的。。,如果分配失敗就返回。
if((s=(stud *)malloc(sizeof(stud)))==NULL)\\為什么要循環(huán)多次地執(zhí)行這行?這行的作用是什么?
這行也是,因?yàn)橛衝個(gè)人,每個(gè)人都要分配空間啊。
return(h);\\這行代碼又有什么作用?
把建立好的鏈表返回調(diào)用函數(shù)
我用VC++6.0運(yùn)行該程序時(shí)提示“Error spawing CL.EXE”,該怎么解決?
可能是這個(gè)文件變成了只讀, 重新建立一個(gè)就行。
樓主,這個(gè)是合理的,分析如下:
在List 類的add方法中,循環(huán):
while (e.next!=null)//居然是空的 那么這里判斷他非空不是沒(méi)有意義么
e=e.next;
作用是獲取鏈表的最后一個(gè)元素,以使新添加的結(jié)點(diǎn)能夠掛到最后面。當(dāng)你第一次添加結(jié)點(diǎn)的時(shí)候, head的next也是為空,那么循環(huán)后面的兩句代碼:
e.next=newEntry;
return newEntry;(注意這兩句不屬于循環(huán)體)意思就是把head的next結(jié)點(diǎn)設(shè)置為新添加的結(jié)點(diǎn)了。這個(gè)時(shí)候,head的next值就不為空了,其指向的是你剛才添加的結(jié)點(diǎn)。
這時(shí)如果再次添加結(jié)點(diǎn),循環(huán)while (e.next!=null)將會(huì)循環(huán)一次,在循環(huán)結(jié)束時(shí),e就不再指向head了,而是指向你上次添加的結(jié)點(diǎn),也就是鏈表的最后一個(gè)結(jié)點(diǎn)。
remove方法中也是這樣的原理。希望能幫助到樓主
本文標(biāo)題:java單鏈表代碼看不懂 java中有鏈表嗎
文章鏈接:http://chinadenli.net/article40/heppeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、外貿(mào)建站、網(wǎng)站改版、域名注冊(cè)、服務(wù)器托管、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)