一级指针形式如: int *p二级指针形式如: int **p可能很多初学者会疑惑在函数参数里面到底应该用一级指针还是二级指针。下面用几个例子说明一下:第一个是大家都很熟悉的链表下面是一个链表结构:typedef struct Node{ int value; struct Node *next.....
分类:
其他好文 时间:
2015-01-10 12:24:02
阅读次数:
244
在 Nginx 的队列实现中,实质就是具有头节点的双向循环链表,这里的双向链表中的节点是没有数据区的,只有两个指向节点的指针。需注意的是队列链表的内存分配不是直接从内存池分配的,即没有进行内存池管理,而是需要我们自己管理内存,所有我们可以指定它在内存池管理或者直接在堆里面进行管理,最好使用内存池进行管理。...
分类:
其他好文 时间:
2015-01-06 12:06:24
阅读次数:
232
ngx_list_t 是 Nginx 封装的链表容器,链表容器内存分配是基于内存池进行的,操作方便,效率高。Nginx 链表容器和普通链表类似,均有链表表头和链表节点,通过节点指针组成链表。...
分类:
其他好文 时间:
2015-01-04 21:23:28
阅读次数:
188
图解cdev_add()函数
在写字符驱动的时候需要使用内核提供的cdev_add()函数来想kobj_map添加自己的cdev结构体.
1.当执行完cdev_add()函数之后.我们最终形成的结构如上.它是一个hash链表结构.
那么hash值是谁呢.这个hash只提取的是一个主设备号,最大值254.
2.在添加新的设备的时候.我们会先使用主设备号...
分类:
其他好文 时间:
2015-01-02 19:55:58
阅读次数:
1628
#include
#include
#include
typedef struct Node//定义一个链表结构体
{
int data;
struct Node* pNext;
}NODE,*PNODE;
typedef struct Stack//定义一个栈结构体
{
PNODE pTop;
PNODE pBottom;
}STACK,*PSTACK;
void initStac...
分类:
其他好文 时间:
2015-01-01 18:36:01
阅读次数:
156
链表是一种插入和删除都比较快的数据结构,缺点是查找比较慢。除非需要频繁的通过下标来随机访问数据,否则在很多使用数组的地方都可以用链表代替
在链表中,每个数据项都包含在“链结点”中,一个链结点是某个类的对象。每个链结点对象中都包含一个对下一个链接点的引用,链表本身的对象中有一个字段指向第一个链结点的引用,如下图所示:
在数组中,每一项占用一个特定的位置,这个位置可以用一个下标号直接访...
分类:
其他好文 时间:
2014-12-12 08:54:19
阅读次数:
115
一、List 接口集合: 1、优势以及特点:有序,允许重复元素 。 2、实现类: * AarrayList 类:不同步,可变长度数组,倍增率为 1/n ; * LinkedList 类:不同步,链表结构,增删快 。 * Vector 类(元老级的,目前不怎么用了):同步,...
分类:
编程语言 时间:
2014-12-11 22:10:18
阅读次数:
183
1、链表结构定义
typedef struct ListElement_t_ {
void *data;
struct ListElement_t_ *next;
} ListElement_t;
typedef struct List_t_{
int size;
int capacity;
ListEleme...
分类:
其他好文 时间:
2014-12-11 19:17:44
阅读次数:
201
数据结构:相互之间存在一种或多种特定关系的数据元素的集合。
算法:是对特定问题求解步骤的一种描述。
线性表的操作:
1、创建 (容量)
2、插入 (后移)
3、删除 (知道容量、和元素个数)
4、追加
5、获取元素 (下标和标志)
6、查找 (遍历)
7、清空 ()
8、是否为空
9、是否已满
10、元素的个数
链表:
由一系列不必在内在...
分类:
编程语言 时间:
2014-12-10 16:23:21
阅读次数:
200
菜鸟nginx源码剖析数据结构篇(八) 缓冲区链表 ngx_chain_tAuthor:Echo Chen(陈斌)Email:chenb19870707@gmail.comBlog:Blog.csdn.net/chen19870707Date:Nov 6th, 20141.缓冲区链表结构ngx_ch...
分类:
其他好文 时间:
2014-12-03 23:01:00
阅读次数:
290