雙鏈表的實(shí)現(xiàn)
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供
融水網(wǎng)站建設(shè)、融水做網(wǎng)站、融水網(wǎng)站設(shè)計、融水網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、融水企業(yè)網(wǎng)站模板建站服務(wù),十多年
融水做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
基本概念
每一個節(jié)點(diǎn)都存儲上一個和下一個節(jié)點(diǎn)的指針
實(shí)現(xiàn)思路
創(chuàng)建一個節(jié)點(diǎn)結(jié)構(gòu)體
- 每個節(jié)點(diǎn)都有上節(jié)點(diǎn)指針與下節(jié)點(diǎn)指針
- 每個節(jié)點(diǎn)都有一個key => value
創(chuàng)建一個鏈表結(jié)構(gòu)體
- 鏈表容量大小屬性
- 鏈表大小屬性
- 鏈表鎖, 實(shí)現(xiàn)并發(fā)安全
- 鏈表頭節(jié)點(diǎn)
- 鏈表尾節(jié)點(diǎn)
實(shí)現(xiàn)鏈表操作方法
- 添加頭部節(jié)點(diǎn)操作AppendHead
- 添加尾部節(jié)點(diǎn)操作AppendTail
- 追加尾部節(jié)點(diǎn)操作Append
- 插入任意節(jié)點(diǎn)操作Insert
- 刪除任意節(jié)點(diǎn)操作Remove
- 刪除頭部節(jié)點(diǎn)操作RemoveHead
- 刪除尾部節(jié)點(diǎn)操作RemoveTail
- 獲取指定位置的節(jié)點(diǎn)Get
- 搜索任意節(jié)點(diǎn)Search
- 獲取鏈表大小GetSize
- 打印所有節(jié)點(diǎn)操作Print
- 反轉(zhuǎn)所有節(jié)點(diǎn)操作Reverse
總結(jié)
- 學(xué)好算法是一個不斷積累的過程
- 學(xué)習(xí)時還需做到知行合一
- 實(shí)現(xiàn)時需要多做用例測試.
代碼解析
定義節(jié)點(diǎn)的結(jié)構(gòu)體
type DoubleNode struct {
Key int //鍵
Value interface{} //值
Prev *DoubleNode //上一個節(jié)點(diǎn)指針
Next *DoubleNode //下一個節(jié)點(diǎn)指針
Freq int //頻率次數(shù).為了給LFU使用的
}
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站名稱:golang雙鏈表的實(shí)現(xiàn)代碼示例-創(chuàng)新互聯(lián)
文章起源:
http://weahome.cn/article/dshijh.html