記憶體結構:鍊錶也是資料結構的一種,但是和陣列不一樣,陣列在記憶體中每個節點的位置是相連的。而鍊錶的每個節點在物件中是分散的,依靠引用相連。
優點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 結點類...