//新增操作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 單鏈表在增加和刪除上要比陣列結構更加快捷。原因 因為順序表在記憶體中是相連的,所以刪除乙個節點,在該節點之後的節點都要隨之前移,所以效率不高。而單鏈表使...