技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 查看专题: 链表
    Linus大婶在slashdot上回答一些编程爱好者的提问,其中一个人问他什么样的代码是他所喜好的,大婶表述了自己一些观点之后,举了一个指针的例子,解释了什么才是core low-level coding。
    目录:1. 优雅地使用链表;2. 高效地分支判断;3. 汇编实现的原子操作;4. 0长度数组;5. 三目运算的另类表达
    链表是Linux内核中最重要的数据结构,但Linux内核中的链表与传统的数据结构书中看到的链表结构略有不同。这里简单写一下我对于Linux内核中链表的理解,不足之处欢迎路过的大牛给出批评意见。 1.传统形式的链表 数据结构书中的链表一般是下面这种形式: struct list { struct list *pre; struct list *next; void *data; }; 每一个链表结构中都包括两个同类型的指针,分别指向链表的上一个节点和下一个节点。这样当该节点处于一个循环链表中时,链表的首节点一般不用于保存数据,但首节点也需要是一个struct list类型,当结构庞大时首节点也必须分配同样大小的空间,这样就造成了内存的浪费。
    本文的标题让我纠结了好久,不知道是connections数组合适,还是connections链表更合适;Nginx在此或多或少的注入了二者的特点,先不管是叫数组还是叫链表吧,只要能够弄明白这个connections是怎么回事就大功告成。Nginx的每个worker进程都使用一个相同的connections数组来维护每个连接。当有一个新的连接建立时,Nginx需要从这个数组取出一个slot来存放这个连接;相反,有一个连接断开时,也需要将相应的slot归还给connections数组...
    这是之前朋友出的一道题目,感觉不错,就拿来分享一下。 问题如下: 一个单向链表,怎么判断他是否存在环? 图示: 对于最简单的做法就是: 用一个指针走一圈,如果重复遇到其他任何一...
[ 共5篇文章 ][ 第1页/共1页 ][ 1 ]
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1