双向链表简介。双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。双向链表更快速的查找与遍历整个链表。所以我们很少用单链表了。/* doublelin...
分类:
其他好文 时间:
2015-11-21 18:11:57
阅读次数:
177
要点:链表的一个结点中,除了要保存数据,还必须保存它下一个结点的地址。链表类型:(1)单链表:每个结点只包含一个引用(即地址),指向下一个结点(2)双向链表:每个结点包含两个引用,指向它的上一个结点和下一个结点(3)单循环链表:在单链表中,表尾结点的引用指向表头结点即为单循环链表准备数据1 clas...
分类:
其他好文 时间:
2015-11-18 02:02:42
阅读次数:
157
public class MyLinkedList { private class Node{ //定义节点 ,利用私有内部类的排他性 Object data; Node next; Node pre; public Node()...
分类:
其他好文 时间:
2015-11-08 15:04:36
阅读次数:
204
写出一个双向的循环链表,弄一个计数器,我定义的是到三的时候,自动删除当前节点,很简单。 package Com;import java.util.Scanner;/* * 约瑟夫环问题,有n个人组成的圈,数到3的那个人出列,下个人继续从一开始 */public class Josephus {...
分类:
编程语言 时间:
2015-11-06 19:16:53
阅读次数:
232
通常来说,要实现循环双向链表,每个节点需要有两个链域:前驱和后继。现在的问题是:如何设计一种环形表,使表的每个结点只包含一个链域而又能够有效地对其进行两个方向的查找。本文将给出一种实现方式。首先,在给出之前,需要先了解一种有趣的运算,那就是异或运算。异或运算的真值表如下:ABA^B000011101...
分类:
其他好文 时间:
2015-10-24 22:01:34
阅读次数:
264
1.定义在单链表中,如果将终端结点的指针域有空指针指向头结点,则整个链表称为一个环,这种头尾相接的单链表称为循环单链表,简称循环链表。2.代码#include using namespace std;struct Node{ int data; Node *next;};class CLL{publ...
分类:
其他好文 时间:
2015-10-23 22:43:50
阅读次数:
198
/*处理关于26个英文字母的双向循环关系:例如输入n=0,则编译结果为:ABCDEFGHIJKLMNOPQRSTUVWXYZ;如果输入n=1,则输出结果为:BCDEFGHIJKLMNOPQRSTUVWXYZ;*/#include #include #define ERROR 0#define OK ...
分类:
其他好文 时间:
2015-10-20 20:57:55
阅读次数:
167
循环链表区别于单链表的地点就是:未节点的next是头节点地址,所以在节点操作中,涉及到plink->next判断是否为NULL的地方改为判断是否等于plink_header即可。链表遍历函数中:while(plink_view->next !=plink_header){ printf("%s,%....
分类:
其他好文 时间:
2015-10-17 17:25:05
阅读次数:
244
前阵子在弄缓存的时候,我们需要将qemu对于磁盘镜像文件写请求串成一个链表,最终将这个链表里面的写请求全部刷回到镜像文件里面,那么我们便需要一个强健,可靠的链表的接口,于是我们仿照Linux 2.4.0的内核,来造了这么一个链表的轮子。今天抽抽空来记录一下。 链表,估计学过数据结构这门课程的人...
分类:
系统相关 时间:
2015-10-14 14:19:33
阅读次数:
284
程序设计思想 1.定义一个头指针。 2.键盘输入一个数值控制链表的长度。 3.利用输入的数值产生for循环结构输入结点位置的数据域,最后尾指针指向头节点,构成循环链表。 4.输入报数的上限值,从头节点开始循环,报数的上限停下的结点被删除。 5.从被删除的结点的下一个节点开始,以被删...
分类:
其他好文 时间:
2015-10-12 14:10:54
阅读次数:
197