資料結構與演算法(四)鍊錶(一) 單鏈表實現

2021-10-03 10:41:01 字數 828 閱讀 5339

1.單鏈表的增、刪、遍歷

public class test

class node

}class linkedlist

node current = head;

int count = 0;

while (current != null)

}//獲取長度的過程就是遍歷的過程

public int getlength()

node current = head;

int count = 0;

while (current != null)

return count;

}public void add(int data)

node current = head;

while (current.next != null)

current.next = newnode;

}//刪除分為根據下標刪除和根據值刪除,這裡是做的按值刪除

public void delete(int data)

node current = head;

if (current.data == data)

while (current.next != null) }}

//獲取某個值在鍊錶的下標

public int getindex(int data)

node current = head;

while (current != null)

current = current.next;

}return -1;}}

}

資料結構與演算法 單鏈表(一)

單鏈表的頭插法,插入時就是逆序。insertlist 還不完善。include include define error 0 define ok 1 typedef int status typedef int elemtype typedef struct nodenode typedef str...

資料結構與演算法 鍊錶(四)

學習鍊錶有什麼用?引出用鍊錶實現 lru快取淘汰演算法 鍊錶 通過指標將一組零散的記憶體塊串聯在一起,其中我們把記憶體塊叫做鍊錶的節點 快取淘汰策略 fifo 先進先出策略,lfu least frequently used 最少使用策略,lru最近最少使用策略 least recently use...

資料結構 鍊錶之單鏈表

單鏈錶即每個節點都存在資料域和指標域 特殊節點除外 每個節點都乙個直接前驅節點和直接後繼節點 頭節點無前驅,尾節點無後繼 簡單來說就是上乙個節點的指標域中存放了下乙個節點的位址,因此可以實現層層節點依次查詢,時間複雜度為o n 這也就是相對順序表而言的缺點,但是對於頻繁的插入和刪除節點卻是相對於順序...