开发中接触Linux越来越多,休息放松之余,免不了翻看翻看神秘的Linux的内核。看到双向链表时,觉得挺有意思的,此文记下。 作为众多基础数据结构中的一员,双向循环链表在各种“教科书”中的实现是相当的标准和一致的。 大概是下面这个样子: 1 typedef struct node_tag{ 2 //T data; 3 struct node_tag *prev; 4 struct node_tag *next; 5 }node; 当你需要某种类型的链表时,把数据成员之类的往节点里塞是了。比如菜谱链表,里面可以有宫爆鸡丁,酸