鍊錶的實現

2021-07-13 09:10:52 字數 1123 閱讀 3988

記憶體結構:鍊錶也是資料結構的一種,但是和陣列不一樣,陣列在記憶體中每個節點的位置是相連的。而鍊錶的每個節點在物件中是分散的,依靠引用相連。

優點1:單鏈表在增加和刪除上要比陣列結構更加快捷。

原因:因為順序表在記憶體中是相連的,所以刪除乙個節點,在該節點之後的節點都要隨之前移,所以效率不高。

而單鏈表使用引用彼此相連的,所以在刪除增加時只需給引用重新賦值即可。所以效率會比較高

優點2:單鏈表可以無限增加,而陣列在建立是就已經被固定了大小

綜上所述:如果需要快速訪問資料,很少或不插入和刪除元素,就應該用陣列;相反, 如果需要經常插入和刪除元素就需要用鍊錶資料結構了。

接下來就是**了,

節點的定義:

class node

node(int v)

public void setvalue(int value)

public int getvalue()

}

鍊錶的實現:

public class linklist

else

} public void add(int index, node node)

temp.pre.next = node; //進行插入操作

node.next = temp;

node.pre = temp.pre;

temp.pre = node;

size ++;

} public boolean delete(int index)

temp.pre.next = temp.next; //進行刪除操作

temp.next.pre = temp.pre;

size --;

return true;

} }public node get(int index)

return temp;

} }public boolean isempty()

public int size()

}

該方法只定義了一些簡單的增刪改查功能。

鍊錶的實現

鍊錶是一種非常重要的資料結構,比起陣列來雖然操作繁瑣,查詢效率也不如陣列效率高,但在進行插入刪除操作時,鍊錶具有陣列無法比擬的效率,下面的 是鍊錶的實現 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 輸入資料 2 實現資料的插入 刪除 搜尋 輸出等基本操作 3 實現集合的並 交和兩個有序鍊錶的合併。include include using namespace std template 結點類...