JAVA把數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)化了,提供了不少集合類(collection),用的最多的就是LIST和MAP這個(gè)兩個(gè)接口。LIST和MAP各自對(duì)應(yīng)了多個(gè)實(shí)現(xiàn)它們的類,比如ArrayList,HashMap等等。其中List就很像C里的鏈表,它有順序存放和無序存放的對(duì)象。

創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)整合營(yíng)銷推廣、網(wǎng)站重做改版、土默特左旗網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為土默特左旗等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
鏈表是類似一種數(shù)據(jù)結(jié)構(gòu)的東西,就是分別存放有地址以及數(shù)據(jù)單項(xiàng)鏈表一般是上一個(gè)存放地址的地方存放下一個(gè)節(jié)點(diǎn)的地址,而雙向的就是有兩個(gè)存放地址的地方,分別存上一個(gè)以及下一個(gè)的地址。
單向鏈表:?jiǎn)蝹€(gè)結(jié)點(diǎn)創(chuàng)建非常方便,普通的線性內(nèi)存通常在創(chuàng)建的時(shí)候就需要設(shè)定數(shù)據(jù)的大小,結(jié)點(diǎn)的訪問方便,可以通過循環(huán)或者遞歸的方法訪問到任意數(shù)據(jù)。
arraylist是普通數(shù)組,在刪除時(shí)要移位,數(shù)量級(jí)大的情況下速度非常慢。linkedlist在java實(shí)現(xiàn)中應(yīng)為模擬鏈表結(jié)構(gòu),在添加操作時(shí)增加了很多運(yùn)算次數(shù),但是刪除時(shí)不需要移位,只需要重新標(biāo)記地址,所以刪除比較快。
以下是while循環(huán)(條件:香頭指向不為空) 第一個(gè)循環(huán)把馬弄到車前面, 第二個(gè)循環(huán)把相弄到馬前面 第三個(gè)循環(huán)把士弄到相前面 ... 直到香指向?yàn)榭蘸笸V寡h(huán)。 代碼如下:只需要一個(gè)首結(jié)點(diǎn)pHead,就能把鏈表找到,并倒置。
第一個(gè)循環(huán)把馬弄到車前面,第二個(gè)循環(huán)把相弄到馬前面 第三個(gè)循環(huán)把士弄到相前面 ...直到香指向?yàn)榭蘸笸V寡h(huán)。代碼如下:只需要一個(gè)首結(jié)點(diǎn)pHead,就能把鏈表找到,并倒置。
s=p-next; //s最開始指向第一個(gè)節(jié)點(diǎn) while(s-next!=NULL)//只要沒有到最后一個(gè)元素就繼續(xù)。
逆置有兩種方法,第一是把所有節(jié)點(diǎn)反過來。還有一種就是改變節(jié)點(diǎn)中的值。第一種情況,其實(shí)可以考慮用頭插法,來實(shí)現(xiàn)逆置。下面的算法是基于頭插法的思想,逆置鏈表的,僅供參考。
1、例如在插入的時(shí)候,JVM優(yōu)先考慮的是存儲(chǔ)空間上的順序以提高執(zhí)行效率,所以這條鏈的順序可能是節(jié)點(diǎn)在堆內(nèi)存上的順序,所以對(duì)于它存儲(chǔ)的信息或是存入的先后而言就是無序的了。
2、LinkedList對(duì)equals的定義大致是這樣的:(下文將equals 寫作 相等)兩個(gè)鏈表相等當(dāng)且僅當(dāng)其大小相等,并且每個(gè)對(duì)應(yīng)元素也相等。
3、第一種情況,其實(shí)可以考慮用頭插法,來實(shí)現(xiàn)逆置。下面的算法是基于頭插法的思想,逆置鏈表的,僅供參考。
4、是鏈表實(shí)現(xiàn),通過引用來找到前面或后面的對(duì)象,所以相對(duì)來說LinkedList插入、刪除操作比較快,查找較慢,是雙向鏈表。
本文標(biāo)題:單向鏈表代碼java 單鏈表java實(shí)現(xiàn)
當(dāng)前URL:http://www.chinadenli.net/article0/deicjoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、響應(yīng)式網(wǎng)站、做網(wǎng)站、網(wǎng)站維護(hù)、搜索引擎優(yōu)化、定制網(wǎng)站
聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)