package linkedlist;
public
class
linkedlist
}//建立鍊錶管理我們的英雄
class
singlelinkedlist
temp = temp.next;
} temp.next = newhero;
system.out.
println
("新英雄"
+ newhero.
tostring()
);}//在鍊錶中新增乙個元素
public
void
addbyoder
(heronode newhero)
if(temp.no == newhero.no)
else
if(temp.next.no > newhero.no)
temp = temp.next;}if
(flag)
}//在鍊錶中刪除乙個元素
public
void
delectlink
(heronode newhero)
if(temp.next.no == newhero.no)
else
temp = temp.next;}}
//改變乙個英雄的屬性 這裡一定要注意 對於no的查詢一定要放在前面 不然在鍊錶最後新增英雄會失敗
public
void
changehero
(heronode newhero)
if(temp.next == null)
temp = temp.next;}if
(flag)
else}}
class
heronode
@override
public string tostring()
';}}
package linkedlist;
public
class
doublelist
}class
doublelistdemo
temp = temp.next;
} temp.next = newhero;
newhero.pre = temp;
}public
void
addmid
(heronode2 newhero)
//temp遍歷的英雄序號第一次大於newhero的序號時,就是所在點
if(temp.next.no > newhero.no)
if(temp.no == newhero.no)
temp = temp.next;}if
(flag)
}public
void
delecthero
(heronode2 newhero)
if(temp.no == newhero.no)
temp = temp.next;}if
(flag)
}public
void
changeheromessage
(heronode2 newhero)
if(temp.no == newhero.no)
temp = temp.next;}if
(flag)}}
class
heronode2
@override
public string tostring()
';}}
單向鍊錶和雙向鍊錶
1.單向鍊錶 單向鍊錶只可向乙個方向遍歷。查詢乙個節點的時候需要從第乙個節點開始每次訪問下乙個節點,一直訪問到需要的位置。也可以提前把乙個節點的位置另外儲存起來,然後直接訪問。2.雙向鍊錶 可以從任何乙個節點訪問前乙個節點,也可以訪問後乙個節點,以至整個鍊錶。一般是在需要大批量的另外儲存資料在鍊錶中...
單向鍊錶和雙向鍊錶
一 鍊錶是什麼?單向鍊錶linked list 是一種在物理上非連續 非順序的資料結構,由若干節點 node 所組成。而節點包括兩部分,一部分是存放資料的變數data,另一部分是指向下乙個節點的指標next。鍊錶的第1個節點被稱為頭節點,最後1個節點被稱為尾節點,尾節點的next指標指向空。注意 鍊...
單向鍊錶和雙向鍊錶區別 雙向鍊錶
一開始確實被這個雙向鍊錶整暈了,node裡面不停套node,簡直無限套娃,讓人不知道該怎麼下手。後來看了資料結構與演算法分析這本書的 才算整明白。我把鍊錶分成了三個部分 第一部分是node.node是乙個由兩根指標,以及我們需要儲存的資料構成的結構體。這個node就是無限套娃的起源,也是鍊錶用於儲存...