内核数据结构:链表,队列,映射二叉树

原创 2012年03月26日 19:30:17

链表代码在<linux/list.h>中声明,其数据结构很简单:

struct list_head {

            struct list_head *next;

            struct list_head *prev;

};

#define LIST_HEAD_INIT(name) { &(name), &(name) }

#define LIST_HEAD(name) \
 struct list_head name = LIST_HEAD_INIT(name)

static inline void INIT_LIST_HEAD(struct list_head *list)
{
 list->next = list;
 list->prev = list;
}
/**
 * container_of - cast a member of a structure out to the containing structure
 * @ptr: the pointer to the member.
 * @type: the type of the container struct this is embedded in.
 * @member: the name of the member within the struct.
 *
 */
#define container_of(ptr, type, member) ({   \
 const typeof( ((type *)0)->member ) *__mptr = (ptr); \
 (type *)( (char *)__mptr - offsetof(type,member) );})

相关文章推荐

Java中链表、堆栈、队列、二叉树、散列表等数据结构的实现

温习数据结构:Java中链表、堆栈、队列、二叉树、散列表等数据结构的实现 1.Java链表类List的源代码如下: import java.io.*;  public class Lis...
  • adxcq
  • adxcq
  • 2014年07月02日 10:08
  • 1290

数据结构(栈,队列,链表,二叉树)

栈栈作为一种数据结构,用途十分广泛。在回调函数等许多场景中都有应用。我们需要了解它的基本用途,那就是先进后出和队列的先进先出正好相反。最近在学习数据结构和算法,于是自己来实现。我特别喜欢C语言的指针,...

【数据结构】数组、链表、栈、队列、二叉树

数组 数组存储的数据在地址空间上是连续的。 方便数据的查找,查找数据的时间复杂度为O(1)。...

数据结构与实现——数组、矩阵、链表、队列、栈、对象、二叉树和红黑树

1\、栈

数据结构学习:利用链表建立二叉树

利用链表保存二叉树

数据结构-链表/栈/二叉树等

  • 2007年12月11日 16:42
  • 362KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:内核数据结构:链表,队列,映射二叉树
举报原因:
原因补充:

(最多只允许输入30个字)