首先让我们看一下在 include/linux/types.h 里的主结构体: 你可能注意到这和你以前见过的双向链表的实现方法是不同的。 举个例子来说,在 glib 库里是这样实现的: 通常来说一个链表结构会包含一个指向某个项目的指针。 但是 Linux 内核中的链表实现并没有这样做。所以问题来了: ...
分类:
系统相关 时间:
2016-05-25 09:31:42
阅读次数:
244
集合框架Collection:|--List有序可重复,有索引,存入的顺序和取出的顺序一致|--Arraylist--数组结构,查询速度快,不同步|--linkedlist--链表结构,增删速度快,不同步|--Set无序不重复|--Hashset--哈希表结构,元素唯一,查询速度快,不同步|--Treeset--二叉树结构,可以对s..
分类:
其他好文 时间:
2016-05-24 19:21:15
阅读次数:
163
因为同学没学链表,结构体,只能简单并且麻烦的做了一个课程设计。内容为存储学生信息和考试成绩,对成绩单进行编辑,排序,删除,显示等功能。 代码如下: 1 #include <stdio.h> 2 #include <conio.h> 3 #include <string.h> 4 #define NU ...
分类:
其他好文 时间:
2016-05-21 20:19:08
阅读次数:
234
对于线性链表,用一维数组来进行描述。这种描述方法便于在没有指针类型的高级程序设计语言中使用链表结构。...
分类:
编程语言 时间:
2016-05-18 19:47:59
阅读次数:
226
作用: 把值插入到链接头部 作用: 返回并删除链表尾元素 作用: 返回链表中[start ,stop]中的元素 规律: 左数从0开始,右数从-1开始 作用: 从key链表中删除 value值 注: 删除count的绝对值个value后结束 Count>0 从表头删除 Count<0 从表尾删除 作用 ...
分类:
其他好文 时间:
2016-05-16 20:00:22
阅读次数:
188
用两个栈实现一个队列
1、线性表分为:顺序表和链表。
栈:只允许在尾上(即是栈顶)进行插入与删除。
队列:它是在队尾插入,队头删除。
2、栈选数组(即顺序表)结构时(比选链表结构更好):因为选数组结构可以进行size++与size--,而且效率高。
栈选链表结构:
3、队列选数..
分类:
其他好文 时间:
2016-05-15 20:09:11
阅读次数:
147
题目描述:请写一个程序,找到两个单链表最开始的交叉节点。注意事项如果两个链表没有交叉,返回null;在返回结果后,两个链表仍须保持原有的结构;可假定整个链表结构中没有循环。
两个链表交叉,其实就是在某一时刻,两个链表指向了同一个节点。那么,如果两个链表等长,这道题就毫无难度了,我们直接分别遍历两个链表,看在哪个节点处,两个链表的指向的节点是一样的。
但是这道题并没有说链表等长,那也好办...
分类:
其他好文 时间:
2016-05-12 20:46:27
阅读次数:
189
1、前言 最近写代码需用到链表结构,正好公共库有关于链表的。第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域。后来看代码注释发现该代码来自linux内核,在linux源代码下include/Lish.h下。这个链表具备通用性,使用非常方便。只需要在结构定义一个 ...
分类:
系统相关 时间:
2016-05-11 21:52:52
阅读次数:
179
为了工作,开始漫漫路 链表结构 数据部分:数据 地址部分:下一个结点地址 链表结构 链表操作 链表操作中涉及到“增”结点的操作就要先分配空间 追加尾结点 步骤: 代码: 插入头结点 步骤和上基本相似,直接说关键操作 ...
分类:
其他好文 时间:
2016-05-10 16:40:51
阅读次数:
154
<剑指offer第五题> 思路:在不改变链表结构的情况下,要从头到尾扫描链表,然后再从尾到头输出,这是一种“先进后出”的思路。最直观的想法就是利用栈来完成。 从栈又可以想到递归,因为递归本质上就是一个栈结构。每访问到一个结点时,先输出它后面的结点,再输出结点本身,这样链表的输出结果就反过来了。 但递 ...
分类:
其他好文 时间:
2016-05-08 11:46:24
阅读次数:
127