ๅๅ้พ่กจ๏ผ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
ใๆไปฅๅจ่ชๅทฑๅฎ็ฐไนๅๅฏไปฅๅ
ๅ่่ฏญ่จๆๆกฃ๏ผไธ้่ฆ้ๅค้ ่ฝฎๅญใ