1.前言 本文主要介绍Linux内核实现的基本数据类型,包括链表,内核对象,内核对象引用计数,内核对象集合, 2.链表 1. 链表的基本结构 内核链表可以将任何类型的数据结构连接起来,链表结构如下: 图 标准双链表 典型的循环双向链表如上图所示。 2. 链表相关API 3. 内核对象 3.1 kob ...
分类:
系统相关 时间:
2017-04-08 14:39:11
阅读次数:
225
题目描述 输入一棵二叉查找树,将该二叉查找树转换成一个排序的循环双向链表。 要求不能创建任何新的结点,只调整指针的指向,也不能开辟新的存储空间O(1) 题目分析 首先照旧我们问题的解决思路,首先简化问题。(前提你应该了解二叉查找树和双向链表) 如果没有任何的要求,那么我们自然会想到遍历整棵树然后排序 ...
分类:
编程语言 时间:
2017-02-22 12:34:51
阅读次数:
221
ArrayList和Vector使用了数组的实现,可以认为ArrayList或者Vector封装了对内部数组的操作,比如向数组中添加,删除,插入新的元素或者数据的扩展和重定向。 LinkedList使用了循环双向链表数据结构。与基于数组ArrayList相比,这是两种截然不同的实现技术,这也决定了它 ...
分类:
其他好文 时间:
2016-05-11 22:05:51
阅读次数:
158
LinkedList实现List接口,并且实现了接口中的所有方法,这个操作可以作为一个栈来使用,同时也实现Deque接口,实现了add,poll方法可以为一个队列。内部是使用带头结点的循环双向链表。
结构如下图:
类的继承实现关系
内部类Entry的结构
部分方法源码剖析
add(E e)
添加一个元素的过程。
getFirst()...
分类:
其他好文 时间:
2016-04-11 14:31:25
阅读次数:
120
笔记:<<the linux kernel primer>> linux中的链表常见的是循环双向链表。其完整代码存放在同文件include/linux/list.h中 ...
分类:
系统相关 时间:
2016-03-27 12:21:39
阅读次数:
217
循环双向链表的增删查改等基本操作#include<iostream>
#include<assert.h>
usingnamespacestd;
typedefintDataType;
structListNode
{
DataType_data;
ListNode*_prev;
ListNode*_next;
ListNode(constDataType&x)
:_data(x)
,_prev(NULL)
,_next(NU..
分类:
编程语言 时间:
2016-03-24 16:41:21
阅读次数:
415
JDK提供了一组主要的数据结构的实现,如List、Set、Map等常用结构,这些结构都继承自java.util.collection接口。 List有三种不同的实现,ArrayList和Vector使用数组实现,其封装了对内部数组的操作。LinkedList使用了循环双向链表的数据结构,Linked
分类:
编程语言 时间:
2016-03-13 15:52:54
阅读次数:
301
我在前面两篇博客《经典算法学习——单链表(不带头结点)实现冒泡排序》《经典算法学习——单链表实现冒泡排序(带头结点)》中详细描述了分别使用带头结点和不带头结点的单链表实现了冒泡排序,让我们对单链表和冒泡排序有了理性的认识。今天我们将会来使用不带头结点的非循环双向链表来实现冒泡排序,在处理过程中,这种冒泡比前面两种更为简单高效。代码上传至 https://github.com/chenyufeng1...
分类:
编程语言 时间:
2016-03-03 21:24:42
阅读次数:
180
通常来说,要实现循环双向链表,每个节点需要有两个链域:前驱和后继。现在的问题是:如何设计一种环形表,使表的每个结点只包含一个链域而又能够有效地对其进行两个方向的查找。本文将给出一种实现方式。首先,在给出之前,需要先了解一种有趣的运算,那就是异或运算。异或运算的真值表如下:ABA^B000011101...
分类:
其他好文 时间:
2015-10-24 22:01:34
阅读次数:
264
一、链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。
使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内...
分类:
其他好文 时间:
2015-08-27 11:07:06
阅读次数:
180