一、RTOS里面的重要数据结构 链表 很多RTOS包括Linux的内核在内,内核里面都大量使用了链表这一种数据结构。内核的链表一般都是双向循环链表,这是因为双向循环链表的效率是最高的,找头节点、尾节点,直接前驱、直接后继时间复杂度都是O(1),这是使用单链表、单向循环链表或其他形式的链表是不能完成的 ...
分类:
其他好文 时间:
2017-11-06 19:05:13
阅读次数:
209
/** ** 2017.11.2 ** Ahthor:799 ** 循环双向链表 ** ***/ #include using namespace std; #define ElemType int #define Status int #define ERROR -1 #define OK 1 t... ...
分类:
编程语言 时间:
2017-11-03 00:11:52
阅读次数:
248
链表使用的是带头节点的双向循环链表: system.h: Status InitList(DuLinkList &L){ L = (DuLinkList)malloc(sizeof(DuLNode)); DuLinkList q,p; L->next = L; L->prior = NULL; q= ...
分类:
其他好文 时间:
2017-09-30 21:06:16
阅读次数:
258
1 package Eric.ADT; 2 3 /** 4 * 5 * Title:doubleLinkedList 6 * 7 * 8 * Description:用java实现双向循环链表的基本操作 9 * 10 * 11 * Location:Frostburg 12 * 13 * 14 * ... ...
分类:
编程语言 时间:
2017-09-24 10:00:12
阅读次数:
333
单向循环链表 双向循环链表 仿真链表 一、单向循环链表: 1、概念: 单向循环链表是单链表的另一种形式,其结构特点是链表中最后一个结点的指针不再是结束标记,而是指向整个链表的第一个结点,从而使单链表形成一个环。 和单链表相比,循环单链表的长处是从链尾到链头比较方便。当要处理的数据元素序列具有环型结构 ...
分类:
编程语言 时间:
2017-09-16 20:39:14
阅读次数:
218
已知有一个单向循环链表,其每个结点中含三个域:prior,data 和 next,其中 data 域为数据域,next 为指向后继结点的指针域,prior 也为指针域,但它的值为空 (NULL) ,试编写算法将此单向循环链表改为双向循环链表,即使 prior 成为指向前驱结点的指针域。 输入格式 输 ...
分类:
其他好文 时间:
2017-09-10 13:36:02
阅读次数:
183
Java中LinkedList的部分源码(本文针对1.7的源码) LinkedList的基本结构 jdk1.7之后,node节点取代了 entry ,带来的变化是,将1.6中的环形结构优化为了直线型链表结构,从双向循环链表变成了双向链表 在LinkedList中,我们把链子的“环”叫做“节点”,每个 ...
分类:
编程语言 时间:
2017-09-02 13:01:12
阅读次数:
337
一、简单介绍: Linux中的链表使用两个指针。能够方便的构成双向链表。实际上。通常它都组织成双向循环链表。不同于数据结构书上的链表,这里的节点仅仅有链表指针。没有链表的数据。下边我将对内核中使用的 include/linux/list.h 进行函数说明和生动的图形解释。二、函数:我们先来看看1. ...
分类:
其他好文 时间:
2017-08-07 20:37:11
阅读次数:
183
双向循环链表list list是双向循环链表,,每一个元素都知道前面一个元素和后面一个元素。在STL中,list和vector一样,是两个常被使用的容器。和vector不一样的是,list不支持对元素的任意存取。list中提供的成员函数与vector类似,不过list提供对表首元素的操作push_f ...
分类:
编程语言 时间:
2017-08-05 00:12:50
阅读次数:
142
下面以一个电子英汉词典程序(以下简称电子词典)为例,应用双向循环链表。分离数据结构,可以使逻辑代码独立于数据结构操作代码,程序结构更清晰,代码更简洁;电子词典的增、删、查、改操作分别对应于链表的插入、删除、查找、查找和获取链表元素操作。 在程序初始化时,除了初始化链表,还要将保存在文件中的词库加载到 ...
分类:
编程语言 时间:
2017-07-30 20:03:36
阅读次数:
245