首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

linux内核源码 -- list链表

linux kernel中的list估计已经被各位前辈们写烂了,但是我还是想在这里记录一下; linux kernel里的很多数据结构都很经典, list链表就是其中之一 本篇要介绍的内容: list...的定义 list提供的操作方法 注意事项 使用实例 ---- List 所在文件: List的所有操作可以在 include/linux/list.h找到; List head的定义可以在 include.../linux/types.h找到; 定义 实际上这就是一个双向循环链表, 且有一个头指针 list head的定义: struct list_head { struct list_head *next...void INIT_LIST_HEAD(struct list_head *list) { WRITE_ONCE(list->next, list); list->prev = list...struct中,这个宏就是由这个list_head ptr来获取当前所处的struct对象的指针, 用了linux的经典宏定义 container_of #define list_entry(ptr,

2.3K10

Redis常用数据类型——list九大常用命令【例子很通俗】

还有相关命令有需要的可以看一下 Redis中的Hash类型12个常用命令(图文例子) Redis中的String类型常用方法(图文例子) Redis常用数据类型——set十三个常用命令 一、rpush...命令 作用:向list的右边(尾部)添加一个新元素 格式: rpush key value [value ...]...li zhang (integer) 3 127.0.0.1:6379> lrange mylist1 0 -1 1) "wang" 2) "li" 3) "zhang" 二、lpush命令 作用:向list...127.0.0.1:6379> rpop mylist1 "wang" ## 集合无内容时,返回nil 127.0.0.1:6379> rpop mylist1 (nil) 四、pop命令 作用:从list...的尾部元素删除并插入到目标list的头部 rpoplpush source destination source 源list,destination 目标list 举例 127.0.0.1:6379

22930
领券