思路:我們維護一個有序的單鏈表,越靠近鏈表尾部的結點是越早之前訪問的。當有一個新的數據被訪問時,我們從鏈表頭開始順序遍歷鏈表。
1.如果此數據之前已經被緩存在鏈表中了,我們遍歷得到這個數據對應的結點,并將其從原來的位置刪除,然后再插入到鏈表的頭部。
2.如果此數據沒有緩存在鏈表中,又可分為兩種情況:
* 如果此時緩存未滿,則將此節點直接插入到鏈表的頭部;
*如果此時緩存已滿,則鏈表尾結點刪除,將新的數據結點插入到鏈表的頭部
思路:我們維護一個有序的單鏈表,越靠近鏈表尾部的結點是越早之前訪問的。當有一個新的數據被訪問時,我們從鏈表頭開始順序遍歷鏈表。
1.如果此數據之前已經被緩存在鏈表中了,我們遍歷得到這個數據對應的結點,并將其從原來的位置刪除,然后再插入到鏈表的頭部。
2.如果此數據沒有緩存在鏈表中,又可分為兩種情況:
* 如果此時緩存未滿,則將此節點直接插入到鏈表的頭部;
*如果此時緩存已滿,則鏈表尾結點刪除,將新的數據結點插入到鏈表的頭部