單鏈表的建立
1.建立乙個head頭節點,作用就是表示單鏈表的頭
2.後面我們每新增乙個節點,就直接加入鍊錶的最後
//定義heronode,每個heronode物件就是乙個節點
class
heronode
//為了顯示方法,重新tostring
public string tostring()
}//定義singlelinkedlist 管理英雄
class
singlelinklist
//當退出while迴圈時,temp就指向鍊錶的最後
//將最後這個節點的next 指向新的節點
temp.next = heronode;
}//顯示鍊錶【遍歷】
public
void
list()
heronode temp = head;
while
(temp.next!=null)}}
public
class
main1
}
根據排名來插入制定位置(沒有排名就報錯)
需要按照編號的順序(no)新增
1.找到這個新加節點的位置,通過輔助指標(遍歷)
2.新的節點.next = temp.next
3.temp.next = 新的節點
//定義heronode,每個heronode物件就是乙個節點
class
heronode
//為了顯示方法,重新tostring
public string tostring()
}//定義singlelinkedlist 管理英雄
class
singlelinklist
//當退出while迴圈時,temp就指向鍊錶的最後
//將最後這個節點的next 指向新的節點
temp.next = heronode;
}//第二種方式新增英雄,根據排名將英雄插入到指定位置
public
void
addbyorder
(heronode heronode)
if(temp.next.no > heronode.no)
else
if(temp.next.no == heronode.no)
temp = temp.next;
//後移。遍歷當前鍊錶,結束迴圈}if
(flag)
else
}//顯示鍊錶【遍歷】
public
void
list()
heronode temp = head;
while
(temp.next!=null)}}
public
class
main1
修改節點
//定義singlelinkedlist 管理英雄
class
singlelinklist
//找到需要的節點
heronode temp = head;
boolean flag =
false
;//表示是否找到節點
while
(true)if
(temp.no == newheronode.no)
temp = temp.next;}if
(flag)
else
}}
//定義heronode,每個heronode物件就是乙個節點
class
heronode
//為了顯示方法,重新tostring
public string tostring()
}//定義singlelinkedlist 管理英雄
class
singlelinklist
//當退出while迴圈時,temp就指向鍊錶的最後
//將最後這個節點的next 指向新的節點
temp.next = heronode;
}//第二種方式新增英雄,根據排名將英雄插入到指定位置
public
void
addbyorder
(heronode heronode)
if(temp.next.no > heronode.no)
else
if(temp.next.no == heronode.no)
temp = temp.next;
//後移。遍歷當前鍊錶,結束迴圈}if
(flag)
else
}//修改節點的資訊,根據編號修改
//1.根據newheronode的編號no來修改
public
void
update
(heronode newheronode)
//找到需要的節點
heronode temp = head;
boolean flag =
false
;//表示是否找到節點
while
(true)if
(temp.no == newheronode.no)
temp = temp.next;}if
(flag)
else
}//顯示鍊錶【遍歷】
public
void
list()
heronode temp = head;
while
(temp.next!=null)
}//刪除單鏈表中的乙個節點
//1.找到要刪除節點的前乙個節點的位置
= temp.next.next
public
void
delete
(int no )
if(temp.next.no ==no)}if
(flag)
else}}
public
class
main1
}
單鏈表(演算法與資料結構)
鍊錶 單鏈表 為每個結點新增1個指標域,每個結點包括兩個域 資料域 存放元素本身資訊 指標域 存放後繼結點的儲存位置 指向鍊錶中第乙個結點的指標,稱為這個鍊錶的頭指標。最後乙個元素的指標不指向任何結點,稱為空指標,圖示中用 表示,在演算法中用 null 表示 帶頭結點的單鏈表 頭結點 可以不存資訊,...
資料結構與演算法 單鏈表
鍊錶是有序的列表,但是它在記憶體中是儲存如下 鍊錶是以節點的方式來儲存的 鍊錶的各個節點不一定是連續儲存的 鍊錶分帶頭結點的鍊錶和不帶頭結點的鍊錶 新增先建立乙個 head 頭結點,作用就是表示單鏈表的頭 後面我們每新增乙個結點,就直接加入到鍊錶的最後 遍歷 通過乙個輔助變數,幫助來遍歷整個鍊錶 第...
資料結構與演算法 單鏈表(一)
單鏈表的頭插法,插入時就是逆序。insertlist 還不完善。include include define error 0 define ok 1 typedef int status typedef int elemtype typedef struct nodenode typedef str...