ๅŒๅ‘้“พ่กจ๏ผˆDouble Linked List๏ผ‰ ๆ˜ฏ้“พ่กจ็š„ไธ€ไธชๅญ็ฑป๏ผŒ้กพๅๆ€ไน‰๏ผŒๆฏ”่ตท้“พ่กจไธญๆฏไธชๅ…ƒ็ด ไธญๆœ‰ไธ€ไธชๆŒ‡ๅ‘ไธ‹ไธ€ไธชๅ…ƒ็ด ็š„ๆŒ‡้’ˆ๏ผŒๅŒๅ‘้“พ่กจไธญ่ฟ˜ๅคšๅŒ…ๅซไธ€ไธชๆŒ‡ๅ‘ไธŠไธ€ไธชๅ…ƒ็ด ็š„ๆŒ‡้’ˆ๏ผŒ่ฟ™ไฝฟๅพ—ๅŒๅ‘้“พ่กจๆ—ขๅฏไปฅๅ‘ๅŽ๏ผŒไนŸๅฏไปฅๅ‘ๅ‰้ๅކใ€‚

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Node  โ”‚    โ”‚  Node  โ”‚    โ”‚  Node  โ”‚    โ”‚  Node  โ”‚
โ”‚--------โ”‚    โ”‚--------โ”‚    โ”‚--------โ”‚    โ”‚--------โ”‚
โ”‚  Data  โ”‚    โ”‚  Data  โ”‚    โ”‚  Data  โ”‚    โ”‚  Data  โ”‚
โ”‚        โ”‚    โ”‚        โ”‚    โ”‚        โ”‚    โ”‚        โ”‚
โ”‚  Next ----> โ”‚  Next ----> โ”‚  Next ----> โ”‚  None  โ”‚
|  None  | <---- Prev  | <---- Prev  | <---- Prev  |
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
Head         Node1       Node2       Tail

้™คไบ†ๅฏไปฅๅ‘ไธคไธชๆ–นๅ‘้ๅކ๏ผŒๅŒๅ‘้“พ่กจๅœจๅˆ ้™คๅ…ƒ็ด ๆ—ถไนŸๅฏไปฅ็›ดๆŽฅ้€š่ฟ‡ๆŒ‡ๅ‘่ฏฅๅ…ƒ็ด ็š„ๆŒ‡้’ˆ็›ดๆŽฅๆ“ไฝœ๏ผŒ่€Œไธ้œ€่ฆ้‡ๆ–ฐๆ‰พๅฏปไธŠไธ€ไธชๅ…ƒ็ด ใ€‚

่ฟ™ไบ›็‰นๆ€งไฝฟๅพ—ๅŒๅ‘้“พ่กจ่™ฝ็„ถๆฏ”้“พ่กจๆ›ดๅŠ ๅคๆ‚๏ผŒไฝ†ๆ›ด้€‚ๅˆ็‰นๅฎš็š„ๅœบๆ™ฏ๏ผŒๆฏ”ๅฆ‚ LRU Cacheใ€‚

ไนŸๅ› ไธบๆ›ดๅŠ ๅคๆ‚ๅ’Œๅฎž็”จ๏ผŒๅพˆๅคš็ผ–็จ‹่ฏญ่จ€้ƒฝๅœจๆ ‡ๅ‡†ๅบ“ไธญๆไพ›ๅฏนๅŒๅ‘้“พ่กจ็š„ๆ”ฏๆŒ๏ผŒๆฏ”ๅฆ‚Golang ๅ†…็ฝฎ็š„ๅŒ… container/listใ€‚ๆ‰€ไปฅๅœจ่‡ชๅทฑๅฎž็Žฐไน‹ๅ‰ๅฏไปฅๅ…ˆๅ‚่€ƒ่ฏญ่จ€ๆ–‡ๆกฃ๏ผŒไธ้œ€่ฆ้‡ๅค้€ ่ฝฎๅญใ€‚