鍊錶是一種鏈式儲存的結構,使用節點進行儲存,乙個節點分成資料域和指標域,指標域(next域,後面都說next域)指向下乙個節點。鍊錶的各個節點不一定是連續儲存的,因為每個節點在記憶體中的位置不一定是連續的
節點的定義
public
class
node
public string getname()
public
node
(int no, string name)
public
void
setname
(string name)
@override
public string tostring()
';}}
增加節點就是找到鍊錶的末端節點,將末端節點的next域指向需要加入的節點就完成了節點的增加
//增加節點
public
void
addnode
(node node)
temp = temp.next;
//條件不滿足的話,temp進行後移
} temp.next = node;
}
public
void
deletenode
(int no)
node temp = head;
//設定乙個臨時遍歷節點
boolean flag =
false
;while
(true
)else
if(temp.next == null)
temp = temp.next;
//條件不足,節點後移}if
(flag)
else
}//判斷鍊錶是否為空
public boolean isempty()
else
}
修改節點即找到需要修改的節點,然後將需要修改的內容重新進行賦值操作就行了。
public
void
updatenode
(node node)
node temp = head.next;
//設定乙個臨時的節點進行遍歷
boolean flag =
false
;//用來標記是否有與要修改的節點相同標號的節點
while
(temp != null)
temp = temp.next;}if
(flag)
else
}
查詢節點的思路和前面的思路一樣,都是找乙個臨時節點,讓臨時節點對鍊錶進行遍歷,這樣做的目的就是為了不改變原來的鍊錶的結構。
public node findnode
(int no)
node temp = head.next;
boolean flag =
false
;//用來標記是否找到節點
while
(temp != null)
temp = temp.next;}if
(flag)
else
}
單鏈表增刪改查
include include include include using namespace std struct node node int x,node next null 帶參初始化 建立煉表頭結點,新增引用因為要改變指標的位址指向 void createlink node head 新增鍊...
單鏈表增刪改查
單鏈表單鍊錶 linked list 由各個記憶體結構通過乙個 next 指標鏈結在一起組成,每乙個內 存結構都存在後繼記憶體結構 鏈尾除外 記憶體結構由資料域和 next 指標域組成。單鏈表實現圖示 解析 data 資料 next 指標,組成乙個單鏈表的記憶體結構 第乙個記憶體結構稱為 鏈頭,最後...
單鏈表 增刪改查
目錄基本面試題 class heronode class singlelinkedlistpublic void add heronode heronode public void addbyorder heronode heronode if temp.next.no heronode.no el...