Linux内核数据结构详解(双向链表、基数树、位数组)
文章目录
Linux内核提供了不同的数据结构实现,如双向链表、B+树、优先级堆等等。在本文中,将详细介绍双向链表(Doubly linked list),基数树(Radix tree)和位数组(Bit arrays)
1、双向链表
Linux内核提供了自己的双向链表实现,你可以在include/linux/list.h
中找到。我们将从双向链表数据结构开始学习Linux内核中的数据结构。为什么?因为它在内核中非常流行,只需尝试搜索
首先,让我们看看include/linux/types.h
中的主要结构:
struct list_head {
struct list_head *next, *prev