資料結構學習(四) 鍊錶

2021-09-12 01:14:20 字數 2093 閱讀 2962

一、學習內容

今天開始學習鍊錶,主要實現的功能有:

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 ...