一、概念梳理
在古縣等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網(wǎng)站設計、成都網(wǎng)站制作 網(wǎng)站設計制作按需設計網(wǎng)站,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,高端網(wǎng)站設計,全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站建設,古縣網(wǎng)站建設費用合理。鏈表是計算機科學里面應用應用最廣泛的數(shù)據(jù)結(jié)構(gòu)之一。它是最簡單的數(shù)據(jù)結(jié)構(gòu)之一,同時也是比較高階的數(shù)據(jù)結(jié)構(gòu)(例如棧、環(huán)形緩沖和隊列)
簡單的說,一個列表就是單數(shù)據(jù)通過索引集合在一起。在C里面這叫做指針。比方說,一個數(shù)據(jù)元素可以由地址元素,地理元素、路由信息活著交易細節(jié)等等組成。但是鏈表里面的元素類型都是一樣的,是一種特殊的列表。
一個單獨的列表元素叫做一個節(jié)點。這些節(jié)點不像數(shù)組一樣都按順序存儲在內(nèi)存當中,相反,你可以通過一個節(jié)點指向另外一個節(jié)點的指針在內(nèi)存不同的地方找到這些元素。列表最后一項習慣用NIL表示,相當于python里面的None
這里介紹兩種不同的列表——單鏈表和雙鏈表。雙鏈表中的某個節(jié)點只會指向列表中的下一個元素,但是在雙鏈表里面,當前節(jié)點同時也會指向前一個節(jié)點。所以雙鏈表會占用更多的內(nèi)存,因為它需要額外的變量去存儲索引
圖一、單鏈表
圖2:雙鏈表
單鏈表可以從頭到尾順序查詢,但是反過來就不是那么容易了。然而,雙鏈表不管你是從哪個節(jié)點開始,從任意方向查詢都是一樣的。在單鏈表中增加和刪除節(jié)點只需要兩步,但是在雙鏈表里就需要四步了。
但是在python里面沒有提供像雙鏈表一樣的數(shù)據(jù)結(jié)構(gòu),所以我們可以自己創(chuàng)建一個這樣的數(shù)據(jù)結(jié)構(gòu)
二、如果使用python創(chuàng)建鏈表
(1).將節(jié)點定義成一個數(shù)據(jù)結(jié)構(gòu)
首先我們將節(jié)點類定義成ListNode,該類在初始化實例對象時,定義了兩個實例變量,其中data用來存儲節(jié)點的值,next用來存儲下一個節(jié)點的索引,下面詳細介紹一下一個節(jié)點要定義的方法和屬性
__init__():初始化節(jié)點 self.data:存儲節(jié)點的值 self.next:存儲指向下一個節(jié)點的索引 has_value():將當前節(jié)點值和其他的值比較
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章名稱:使用python實現(xiàn)鏈表操作-創(chuàng)新互聯(lián)
當前URL:http://aaarwkj.com/article22/jcdjc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設、網(wǎng)站制作、外貿(mào)網(wǎng)站建設、網(wǎng)頁設計公司、移動網(wǎng)站建設、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)