今天介紹手動模擬單向鍊錶。個人理解的鍊錶的結構類似於 拆盒子遊戲,表面上看儲存是乙個鏈條結構,實際儲存是重複包裝的方式,我們需要實現的刪除,插入,更新 只是在層層盒子中間去掉盒子,增加盒子,該盒子的方式
首先是基本的儲存結構
單向鍊錶的儲存結構如下,單向鍊錶為當前的 物件中有乙個當前物件的屬性。可以理解為 當前的盒子裡面不僅可以裝東西,還可以裝其他盒子
case
class heronode(hno:
int,hname:
string
,hnickname:
string
)
其次操作**
操作**的方式有點類似於遞迴,這裡使用的是while迴圈的方式,所有操作的基礎基本都是查詢
package com.xipenhui.cn
object singlelinklistdemo
}/**
* 1.刪除節點 先查詢再刪除
* 2.修改節點
* 3.新增節點 新增到尾部
* 4.新增節點到指定位置,根據排名新增到指定位置
* */
class singlelinklist
if(temp.next ==
null
)else
}// 在單向鍊錶尾部新增乙個元素
def addnodetotail(hero: heronode)
while
(temp.next !=
null
) temp.next = hero
}//顯示鍊錶
def showlinkedlist():
unit
=var count =
0while
(temp.next !=
null
) 個元素是$"
) count +=
1 temp = temp.next
}}//修改單節點的值,不修改編號
def updata(hero: heronode)
:unit
=var flag =
true
while
(temp.next !=
null
&& flag)
else}if
(temp.next ==
null)}
//新增單幾點到指定的位置 按照num的公升序排列
def addnode2pos(hero: heronode)
:unit
=var flag =
true
while
(temp.next !=
null
&& flag)
else
if(temp.next.no < hero.no)
else
}//新增的元素比煉表裡其他元素編號都大,直接新增到尾部
if(temp.next ==
null)}
}case
class heronode(hno:
int, hname:
string
, hnickname:
string
)
資料結構 單向鍊錶
鍊錶結構的資料格式儲存 include stdafx.h 把這行放在最開始。include includeusing namespace std typedef struct data typedef struct node 這裡與上面的不同是多了node,注意如果沒有這個node,下面的struc...
資料結構(單向鍊錶)
ifndef linklist h define linklist h 鍊錶節點 template class linklistdata linklistdata linklistdata 獲取資料 t getdata public t data 資料 template class linklist...
資料結構 單向鍊錶
錯誤 h next null 或其他 讓指標指向空 的語句執行報錯 null undeclared identifier cannot convert from int to struct node 原因 未引入標頭檔案 include stdio.h 把null定義為乙個空位址是在 stdio標頭...