链表相交需要判断有无循环,无循环直接找最后一个节点进行比较,有循环找某个循环点然后看看另一条是否也有这个点。找循环链表入口比较牛逼:在p2和p1第一次相遇的时候,假定p1走了n步,环路的入口是在h步的时候经过的,那么有 p1走的路径: h+c = n; c为p1和p2相交点,距离环路入口的距离 p2...
分类:
其他好文 时间:
2014-10-14 19:24:59
阅读次数:
130
在include/linux/list.h文件中用C实现了一个好用的循环链表。它是有效而且易于操作的,否则它也不会被内核使用(译者注:在kernel中大量的使用了循环双链表结构,比如在在进程描述符实体中我们就可以看到很多struct list_head的身影)。不管何时,依靠这种结构,在内核中都可以将任何使用它数据结构串起来。...
分类:
系统相关 时间:
2014-10-14 02:24:37
阅读次数:
189
小猪的数据结构学习笔记(五)
本节将会对链表中的循环链表进行讲解:
链表的相关操作:存储结构,判断是否为空表,初始化,插入,删除,查找,遍历
解决约瑟夫问题:普通数组解;循环链表解决;数学方法解决
扩展约瑟夫问题的求解...
分类:
其他好文 时间:
2014-10-07 15:14:43
阅读次数:
249
这里只分析基于WIN32 Message方式部分,对于Nano不是这里的分析重点,相信熟悉Linux内核的,应该都知道在Linux下,不管是设备,驱动,还是进程,都是采用链表的方式将各个宿主数据结构链接起来,而在Microwindows中也采用内似的方式,我们先来复习下Linux的双向链表吧,在Linux内核中,有大量的数据结构需要用到双循环链表,例如进程、文件、模块、页面等。若采用双循环链表的传统实现方式,需要为这些数据结构维护各自的链表,并且为每个链表都要设计插入、删除等操作函数。因为用来维持链表的ne...
为什么说这个链表做的经典呢,哥哥我从Linux内核里边儿扣出来的,要么怎么说内核不是一般人能写的,这代码太TM优美了! 这里有一篇参考文章:http://isis.poly.edu/kulesh/stuff/src/klist/,下面的分析来自其他人的分析这里做了整理,使得它便于阅读。 在l...
分类:
系统相关 时间:
2014-10-02 16:13:23
阅读次数:
234
#include //单向循环链表实现与遍历typedef struct Node { int data; struct Node *next;} Node;int main (){Node n1 = {1, NULL}; Node n2 = {2, NULL}; Node n3 = {3, NUL...
分类:
其他好文 时间:
2014-09-24 23:50:07
阅读次数:
277
花了好几个小时,详细规划出了整个过程,包括所有基本操作。。。有什么疑问请下方留言
#include
using namespace std;
#define ElemType char
#define ERROR 0
#define OK 1
typedef struct Node
{
ElemType data;
struct Node *next;
}Node,*Lin...
分类:
其他好文 时间:
2014-09-24 00:20:15
阅读次数:
315
有序双循环链表的插入 代码(C)本文地址: http://blog.csdn.net/caroline_wendy有序双循环链表的插入, 需要找到插入位置, 可以采用, 两个指针, 一个在前, 一个在后.保证前面的小于等于插入值, 后面的大于等于插入值.特殊情况, 首尾插入(大于或小于整个链表)或单节点, 判断条件为后指针指向首节点. 则需要直接插入.插入链表头, 需要调整链表头节点.代码22行....
分类:
其他好文 时间:
2014-09-18 22:19:14
阅读次数:
217
约瑟夫环问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到k的那个人被杀掉;他的下一个人又从1开始报数,数到k的那个人又被杀掉;依此规律重复下去,直到圆桌周围的人只剩最后一个。
思路是:当k是1的时候,存活的是最后一个人,当k>=2的时候,构造一个n个元素的循环链表,然后依次杀掉第k个人,留下的最后一个是可以存活的人。代码如下:...
分类:
编程语言 时间:
2014-09-10 17:52:11
阅读次数:
448
在我看的两种RTOS中,线程都是以优先级队列的方式存储,有的可能支持同优先级的线程,那每一个优先级的线程就以循环链表的方式存储。而这个优先级队列是以数组的方式存储。如下图所示: 在内核调度时,需要从就绪队列中找出优先级最高的线程,乍看下狠高端,其实简化下,就是在数组中找最大数的算法。而且,数的范围是...
分类:
其他好文 时间:
2014-09-09 11:49:18
阅读次数:
842