一、學習內容
今天開始學習鍊錶,主要實現的功能有:
getsize:獲得鍊錶大小;
isempty:判斷鍊錶是否為空;
add(int index,e e):在索引為index的位置新增元素e;
get(int index):獲得索引為index處的元素;
set(int index,e e):將索引為index處位置的元素替換為e;
contain(e,e):判斷鍊錶中是否含有元素e;
remove(int index):刪除索引為index的元素;
remove(e e):刪除鍊錶中的元素e。
二、鍊錶**:
package imuhero;
/** * @內容:帶虛擬頭結點的鍊錶的基本功能實現
*/public class linkedlist
public node(e e)
public node()
@override
public string tostring()
}private node dummyhead;
private int size;
//構造方法,新建虛擬頭結點,指向null。size=0;
public linkedlist()
public int getsize()
public boolean isempty()
//新增元素
public void add(int index ,e e)
linkedlist.add(2,100);
system.out.println(linkedlist);
system.out.println("鍊錶大小為:"+linkedlist.getsize());
linkedlist.set(2,200);
system.out.println("在索引為2的地方替換的資料是:"+linkedlist.get(2));
system.out.println(linkedlist);
system.out.println("鍊錶中含有100:"+linkedlist.contain(100));
system.out.println("鍊錶中含有200:"+linkedlist.contain(200));;
system.out.println("刪除索引為9的元素");
linkedlist.remove(9);
system.out.println("刪除後的鍊錶為:"+linkedlist);
linkedlist.removeelement(8);
system.out.println("刪除後的鍊錶為:"+linkedlist);
}}
四、輸出結果:
0->null
1->0->null
2->1->0->null
3->2->1->0->null
4->3->2->1->0->null
5->4->3->2->1->0->null
6->5->4->3->2->1->0->null
7->6->5->4->3->2->1->0->null
8->7->6->5->4->3->2->1->0->null
9->8->7->6->5->4->3->2->1->0->null
9->8->100->7->6->5->4->3->2->1->0->null
鍊錶大小為:11
在索引為2的地方替換的資料是:200
9->8->200->7->6->5->4->3->2->1->0->null
鍊錶中含有100:false
鍊錶中含有200:true
刪除索引為9的元素
刪除後的鍊錶為:9->8->200->7->6->5->4->3->2->0->null
8已經被刪除
刪除後的鍊錶為:9->200->7->6->5->4->3->2->0->null
結果符合鍊錶功能要求。
注:關於資料結構的所有**都放在我的github上,有需要的同學可以自行fork,如果覺得還不錯,可以打個☆star哦~~~
資料結構學習 鍊錶
將從下面4部分進行介紹 首先介紹鍊錶是什麼,然後介紹為什麼定義鍊錶,接著是鍊錶的分類,最後簡單介紹一下鍊錶結點的插入與刪除方法。首先,在介紹鍊錶之前,我們先介紹一下什麼是順序儲存結構。我們知道資料在計算機中的儲存就像貨物在倉庫中的儲存一樣,不但占用一定的空間,還要有乙個標示儲存位置的位址。計算機通過...
資料結構學習 鍊錶
由於不必須按順序儲存,鍊錶在插入的時候可以達到o 1 的複雜度,比另一種線性表順序表快得多,但是查詢乙個節點或者訪問特定編號的節點則需要o n 的時間,而線性表和順序表相應的時間複雜度分別是o logn 和o 1 使用鍊錶結構可以克服陣列鍊錶需要預先知道資料大小的缺點,鍊錶結構可以充分利用計算機記憶...
資料結構學習 鍊錶結構
儲存結構定義 struct node typedef struct node ptrtonode typedef ptrtonode list typedef ptrtonode position struct node 書寫 package thedatastructureaboutlinked ...