鍊錶的實現

2021-08-19 22:27:02 字數 1562 閱讀 6724

//新增操作addlast(e):o(n);addfirst(e):o(1);add(index e):o(n/2)=o(n)

//刪除操作:removelast(e):o(n);removefirst(e):o(1);remove(index e):o(n/2)=o(n)

//修改操作o(n)

//查詢操作:o(n)

public class linkedlist

public node(e e)

public node()

@override

public string tostring()

}private node dummyhead;

private int size;

public linkedlist()

// 獲取鍊錶中的元素個數

public int getsize()

// 返回鍊錶是否為空

public boolean isempty()

// 在鍊錶的index(0-based)位置新增新的元素e

// 在鍊錶中不是乙個常用的操作,練習用:)

public void add(int index, e e)

// 在煉表頭新增新的元素e

public void addfirst(e e)

// 在鍊錶末尾新增新的元素e

public void addlast(e e)

// 獲得鍊錶的第index(0-based)個位置的元素

// 在鍊錶中不是乙個常用的操作,練習用:)

public e get(int index)

// 獲得鍊錶的第乙個元素

public e getfirst()

// 獲得鍊錶的最後乙個元素

public e getlast()

// 修改鍊錶的第index(0-based)個位置的元素為e

// 在鍊錶中不是乙個常用的操作,練習用:)

public void set(int index, e e)

// 查詢鍊錶中是否有元素e

public boolean contains(e e)

return false;

}//在鍊錶中刪除index(0-based)位置的元素,返回刪除的元素

public e remove(int index)

linkedlist.add(2

,666);

system.out.println(linkedlist);

linkedlist.remove(2);

system.out.println(linkedlist);

linkedlist.removefirst();

system.out.println(linkedlist);

linkedlist.removelast();

system.out.println(linkedlist);

}}

結果:

鍊錶的實現

鍊錶是一種非常重要的資料結構,比起陣列來雖然操作繁瑣,查詢效率也不如陣列效率高,但在進行插入刪除操作時,鍊錶具有陣列無法比擬的效率,下面的 是鍊錶的實現 include include include define n 100 typedef struct node link link node i...

鍊錶的實現

include using namespace std template class linklist node head public linklist t a,int n 0 利用尾插法來構建線性鍊錶 linklist bool isempty 不為空,則返回0,為空則返回非0 t getnod...

鍊錶的實現

記憶體結構 鍊錶也是資料結構的一種,但是和陣列不一樣,陣列在記憶體中每個節點的位置是相連的。而鍊錶的每個節點在物件中是分散的,依靠引用相連。優點1 單鏈表在增加和刪除上要比陣列結構更加快捷。原因 因為順序表在記憶體中是相連的,所以刪除乙個節點,在該節點之後的節點都要隨之前移,所以效率不高。而單鏈表使...