146 LRU快取機制

2022-09-09 13:48:31 字數 601 閱讀 5322

1

//雙向鍊錶(同時儲存key和val)+hash表2//

很容易犯錯的一點是:處理鍊錶節點的同時不要忘了更新雜湊表中對節點的對映。

3class

lrucache 413

14int

get(int

key)

1527

else

return -1;28

}2930void put(int key, int

value)

31);//

在鍊錶頭部新增(key,value)

3637 hash.erase(key);//

在hash中刪除

38 hash[key] = li.begin();//

key對應鍊錶首部39}

40else

4150 li.push_front();//

在鍊錶頭部新增(key,value)

51 hash[key] = li.begin();//

key對應鍊錶首部52}

53}54 };

146 LRU快取機制

運用你所掌握的資料結構,設計和實現乙個 lru 最近最少使用 快取機制。它應該支援以下操作 獲取資料get和 寫入資料put。獲取資料get key 如果金鑰 key 存在於快取中,則獲取金鑰的值 總是正數 否則返回 1。寫入資料put key,value 如果金鑰不存在,則寫入其資料值。當快取容量...

146 LRU快取機制

運用你所掌握的資料結構,設計和實現乙個 lru 最近最少使用 快取機制。它應該支援以下操作 獲取資料get和 寫入資料put。獲取資料get key 如果金鑰 key 存在於快取中,則獲取金鑰的值 總是正數 否則返回 1。寫入資料put key,value 如果金鑰不存在,則寫入其資料值。當快取容量...

146 LRU快取機制

運用你所掌握的資料結構,設計和實現乙個 lru 最近最少使用 快取機制。它應該支援以下操作 獲取資料 get 和 寫入資料 put 獲取資料 get key 如果金鑰 key 存在於快取中,則獲取金鑰的值 總是正數 否則返回 1。寫入資料 put key,value 如果金鑰不存在,則寫入其資料值。...