上一篇博客主要总结了单向链表,这次再总结一下双向链表. 1.概念 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。 结构图如下所示: 2.基本操作 ...
分类:
编程语言 时间:
2016-04-24 15:32:38
阅读次数:
270
1. 栈 1.1 分类 顺序栈:顺序线性表实现 链式栈:单向链表存储堆栈 1.2栈的应用 1)数制转换 import java.util.Scanner; import java.util.Stack; public class Tran{ public static void main(Strin ...
分类:
编程语言 时间:
2016-04-21 18:31:16
阅读次数:
251
单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。
单向链表的数据结构可以分为两部分:数据域和指针域,数据域存储数据,指针域指向下一个储存节点的地址。/*線性表的單鏈表存儲结構*/
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode, *LinkList;/*带有头...
分类:
其他好文 时间:
2016-04-20 11:39:49
阅读次数:
109
题目 描写叙述: 题目描写叙述: 输入一个不带头节点的单向链表(链表的节点数小于100),删除链表中内容反复的节点(反复的节点所有删除),剩余的节点逆序倒排。 要求实现函数: void vChanProcess(strNode * pstrIn,strNode * pstrOut); 【输入】 ps ...
分类:
其他好文 时间:
2016-04-19 19:35:59
阅读次数:
140
注意事项 1 在SingleList中定义一个head节点 2 注意如何实现链表删除操作的 3 疑问 在任何非main的函数中都可以 使用Node node = new Node(num);但是为何 在main函数中就不行了呢。我知道这是内部类的范畴 ...
分类:
编程语言 时间:
2016-04-18 22:36:36
阅读次数:
321
先来看看内部类Node节点: 很显然,这是一个单向链表数据结构: 其中mMap中Node对象指向下一个Node对象。 add构建了根节点为mRoot的单向链表,之所以Node用HashMap保存链表的下一个节点,是因为mRoot一个根节点指向了很多单向链表分支。mKind是每一条单链表分支的key值 ...
分类:
编程语言 时间:
2016-04-16 18:38:07
阅读次数:
175
1、 在认识链表结构exe部分 A、链表结构 B、链表的初始化 C、在链表中插入数据(结点) D、链表的遍历 2、 链表: 链表有单向链表,也有双向链表,有循环的(环形),在这里我们只讨论 双向循环链表。 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。 ...
分类:
其他好文 时间:
2016-04-10 16:22:26
阅读次数:
133
简介在头文件 中定义namespace std
{
template <typename T,
typename Allocator = allocator >
class forward_forward_list;
}单向列表是一个容器,支持在其任何地方快速插入和删除元素,不支持快速的随机访问。它被实现为单向链表...
分类:
其他好文 时间:
2016-04-08 15:18:17
阅读次数:
197