有一个单向链表,链表当中有可能出现“环”。如何用程序判断出这个链表是有环链表? 方法一:首先从头节点开始,依次遍历单链表的每一个节点。每遍历到一个新节点,就从头节点重新遍历新节点之前的所有节点,用新节点ID和此节点之前所有节点ID依次作比较。如果发现新节点之前的所有节点当中存在相同节点ID,则说明该 ...
分类:
其他好文 时间:
2017-12-19 01:38:18
阅读次数:
172
Hashtable 是 JDK 中较早的数据结构了,目前已不再推荐使用了。但抱着学习的目的,还是看了下它的实现。 简介 Hashtable,顾名思义即哈希表,是一种经典的数据结构。其基本结构是一个数组,而数组中的每个元素都是一个单向链表。哈希表的内部结构如下图: 先解释下 Hashtable 类中几 ...
分类:
其他好文 时间:
2017-12-17 17:02:43
阅读次数:
143
在前面介绍了关于链表的一系列问题,这里我们在介绍一下关于单向链表的反转这个比较具有代表性的算法。在进行反转的时候一定要记住多画图,多去理解在链表进行反转的时候它对于地址的改变,这和数组的数据对换具有很大的不一致。 重要的事情说三遍,地址转换很重要!地址转换很重要!地址转换很重要! 关于单向链表的删除 ...
分类:
编程语言 时间:
2017-12-15 12:41:17
阅读次数:
177
转自http://www.cnblogs.com/tedzhao Persistent Data Structures 可持久化的数据结构 Contents 内容 Introduction 介绍 Persistent Singly Linked Lists 可持久化单向链表 Persistent B ...
分类:
其他好文 时间:
2017-12-12 22:20:45
阅读次数:
218
typedef?struct?MsgData
{
SLIST_ENTRY??NextEntry;//下一个结点
INT??ID;
char?buff[20];
}STDATA,*PSTDATA;
void?CtestThreadDlg::OnBnClickedButton17()
{
PSLIST_ENTRY
分类:
编程语言 时间:
2017-12-09 22:43:02
阅读次数:
207
我们在做算法的时候或多或少都会遇到这样的问题,那就是我们需要获取某一个数据集的倒数或者正数第几个数据。那么今天我们来看一下这个问题,怎么去获取倒数第K个节点。我们拿到这个问题的时候自然而然会想到我们让链表从末尾开始next K-1 次不就是第K-1个节点了么,但是必须要注意一点,这是单向链表。那么这 ...
分类:
编程语言 时间:
2017-12-06 22:06:49
阅读次数:
214
链表在我们java中也是一种基础的数据结构,可以理解成是一种和数组同级的数组结构,正如我们所知,在我们使用这集合ArrayList和LinkedList的时候,总会学习底层数组实现的ArrayList和双向链表实现的LinkedList的区别。在这里,我们将要讲说的是单向链表的简单实现,让我们体会一 ...
分类:
编程语言 时间:
2017-12-06 00:01:43
阅读次数:
226
双向链表与单链表区别在于他多了一个链域,用来存放前驱节点。 基本方法实现: 新增节点: 当前节点的next为新增节点,新增节点的next为当前节点的next.next新增节点的prior为当前结点,当前结点的prior为新增节点 删除节点: 设置删除节点的上一个节点为当前结点。如果当前结点的下下个节 ...
分类:
编程语言 时间:
2017-11-26 21:51:11
阅读次数:
124
以下讲解基于JDK1.7HashMap底层是一个数组,哈希值相同的元素放在数组中的相同的位置,多个相同哈希值的元素形成一个链表。也就是说,元素的组织形式是单向链表。下面从put、get、remove这三个方法分析一下源代码,看看HashMap增删查改是怎么做的。构造HashMap对象的时候做了初..
分类:
其他好文 时间:
2017-11-22 14:16:12
阅读次数:
179
上周习题:1、shape基类,要求所有子类都必须提供面积的计算,子类有三角形,矩形,圆,圆类的数据可序列化2、用面向对象实现LinkedList链表,单向链表实现append,iternodes3、双向链表实现append,pop,insert,remove,iternodes答案:1、shape类importmathimportjsonimport..
分类:
编程语言 时间:
2017-11-21 15:56:59
阅读次数:
158