單鏈表是一種鏈式訪問的資料結構,用一組位址任意的儲存單元存放線性表中的資料元素。鍊錶中的資料是以結點來表示的,每個結點的構成:元素(資料元素的映象) + 指標(指示後繼元素儲存位置),元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。就好像一列火車,每一節車廂後面都會跟著另一節車廂。
public
class
node
//為當前節點追加下乙個節點
(node node)
//如果下乙個節點不為空,則下乙個節點變成當前節點,繼續迴圈,直到找到最後節點
thisnode = nextnode;
}//把需要追加的節點追加到當前節點也就是迴圈結束後的最後乙個節點之後
thisnode.next = node;
//然後將自己返回出去,方便呼叫**的使用
return
this;}
//獲取下乙個節點
public node next()
//獲取節點的值
public
intgetdata()
}
這裡是測試**,結果顯而易見是3
//新建三個節點
node n1=
newnode(1
);node n2 =
newnode(2
);node n3 =
newnode(3
);//從n1節點往下追加節點
n1.(n2)
.(n3)
;//列印節點內容
system.out.
println
(n1.
next()
.next()
.getdata()
);
刪除節點的**相對就會簡單,原理就是把當前節點a的下個節點b換成下下個節點c,那麼節點b自然就被替換掉。
//刪除當前節點
public
void
remove()
插入節點的**也與之類似,原理是將當前節點a的下個節點b先取出,將要插入的節點b+作為a節點的下乙個節點,然後再將取出的b節點作為插入節點b+的下乙個節點
//插入乙個節點
public
void
insert
(node node)
資料結構與演算法之線性結構
線性表是由同一型別的資料元素構成的線性結構,特點是 資料元素間呈一種線性關係。線性表是具有相同資料型別的n個資料元素的有限序列,通常記為 a1,a2,a3,a i 1 ai,a i 1 an 線性表 linear list 的分類 陣列 鍊錶 棧 佇列 沒錯我們熟知的陣列就是一種線性表資料結構,它用...
演算法與資料結構 二 線性結構之單鏈表
上面的陣列 棧 佇列都是順序儲存,鍊錶 迴圈鍊錶 雙鏈表都是鏈式儲存。單鏈表在儲存本身資料的同時也要儲存它的下乙個資料的位址,就比如說火車的一節一節車廂,車廂本身既要承載乘客也要連線下一節車廂,直到最後車廂 單鏈表的增刪改查實現 package com.company author shuoshi....
資料結構入門 線性結構
把所有的節點用一根直線串起來 連續儲存 陣列 什麼叫做陣列 元素型別相同,大小相等 重點看 吧,需要注意的都在注釋裡,多敲幾遍,當然了,有些功能還沒有實現,以後再實現 include include include 定義了乙個資料型別,這個資料型別的名字叫做struct arr,有三個成員 stru...