1.概述:
对于一个循环链表来说,其首节点和末节点被连接在一起。这种方式在单向和双向链表中皆可实现。要转换一个循环链表,可以选择开始于任意一个节点然后沿着列表的任一方向直到返回开始的节点。再来看另一种方法,循环链表可以被视为“无头无尾”。这种列表很利于节约数据存储缓存, 假定你在一个列表中有一个对象并且希望所有其他对象迭代在一个非特殊的排列下。
指向整个列表的指针可以被称作访问指针。
用单向链...
分类:
其他好文 时间:
2016-05-07 10:08:41
阅读次数:
86
约瑟夫问题——利用循环链表求解1. 约瑟夫问题的提法
约瑟夫问题(约瑟夫环)是一个数学的应用问题。
已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围,从编号为k的人开始报数,数到m的那个人出列,他的下一个人又从1开始报数,数到m的那个人又出列,依此规律重复下去,直到圆桌周围的人全部出列。
通常解决这类问题时我们把编号从1~n,最后结果编号即为原问题的解。
2. 求解约瑟夫问题的算法原理示...
分类:
其他好文 时间:
2016-05-07 06:51:27
阅读次数:
169
循环链表(Circular Linked List)1. 循环链表的概念
循环链表是另一种形式的表示线性表的链表。
循环链表的结点结构与单链表相同,与单链表不同的是链表中表尾结点的link域中不是NULL,而是存放了一个指向链表开始结点的指针。
循环链表与单链表一样,可以有附加头结点,这样能够简化链表操作的实现,统一空表与非空表的运算。
循环链表的示意图: 2. 循环链表的特点
循环链表的特点是无须...
分类:
其他好文 时间:
2016-05-03 07:06:52
阅读次数:
287
1.概念
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。
结构图如下所示:
2.基本操作实例
DoubleList.cpp
#include "stdafx.h"...
分类:
编程语言 时间:
2016-04-29 17:47:07
阅读次数:
221
上章回顾 单链表的基本操作,包括插入、删除以及查找 双向链表和循环链表的区别 git@github.com:Kevin-Dfg/Data-Structures-and-Algorithm-Analysis-in-C.git 第五章 第五章 树和二叉树 树和二叉树 git@github.com:Kev ...
分类:
其他好文 时间:
2016-04-28 19:54:45
阅读次数:
265
上一篇博客主要总结了单向链表,这次再总结一下双向链表. 1.概念 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。 结构图如下所示: 2.基本操作 ...
分类:
编程语言 时间:
2016-04-27 09:26:52
阅读次数:
193
1.概念
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。
结构图如下所示:
2.基本操作实例
DoubleList.cpp
#include "stdafx.h"...
分类:
编程语言 时间:
2016-04-26 09:45:23
阅读次数:
284
上一篇博客主要总结了单向链表,这次再总结一下双向链表. 1.概念 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。 结构图如下所示: 2.基本操作 ...
分类:
编程语言 时间:
2016-04-24 15:32:38
阅读次数:
270
LinkedList简介 (1)基于双向循环链表的结构,实现了Deque接口,可以用作堆栈、队列或双端队列使用; (2)实现为非同步的,即在多线程下是不安全的,单线程安全; (3)实现了Cloneable、Serializable,可以克隆与被序列化; JDK1.7-LinkedList源码详细分析 ...
分类:
其他好文 时间:
2016-04-21 16:34:41
阅读次数:
246
1、基本概念
循环链表的定义:将单链表中最后一个数据元素的next指针指向第一个元素
循环链表拥有单链表的所有操作:
创建链表
销毁链表
获取链表长度
清空链表
获取第pos个元素操作
插入元素到位置pos
删除位置pos处的元素
游标的定义
在循环链表中可以定义一个“当前”指针,这个指针通常称为游标,可以通过这个游标来遍历链表中的所有元素。
循...
分类:
其他好文 时间:
2016-04-19 19:50:29
阅读次数:
206