| 版权声明:本文为博主原创文章,未经博主允许不得转载。 1、知识点: (1)、循环链表其实就是将单项链表的首尾连接起来。就是在链表的尾部添加一个指向头节点的指针(及在结束节点的next域中 的NULL值改成指向头节点的指针就行了)。 (2)、存在一个尾指针rear,在一些实际的例子中使用rear指 ...
分类:
其他好文 时间:
2016-08-21 00:55:13
阅读次数:
131
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! LinkedList底层是通过双向循环链表来实现的,其结构如下图所示: 链表的组成元素我们称之为节点,节点由三部分组成:前一个节点的引用地址、数据、后一个节点的引用地址。LinkedList的Head节点不包含数据,每一个节点对应一个En ...
分类:
编程语言 时间:
2016-08-20 01:36:04
阅读次数:
201
1、STL库函数的设计第一位是通用性,模板为其提供了可能;标准模板库中的所有算法和容器都是通过模板实现的。STL(标准模板库)是C++最有特色,最实用的部分之一。STL整个架构模型如下:2、list(双向循环链表)调用STL系统的#include<list>,用系统的双向循环链表结构处理:#..
分类:
其他好文 时间:
2016-08-01 06:58:26
阅读次数:
187
链表(2) 我们在链表1中探讨了链表的一些最基本最简单的一些用法,只能用来讲讲链表操作的基本原理,不具有通用性。 事实上,我们在实际的项目中用的是在nginx内核中的一种通用的循环链表,其完全是由C语言的宏来定义的,设计非常的简洁巧妙,用在生产环境非常的健壮稳固。 在讲通用链表之前先讲一个宏:off ...
分类:
其他好文 时间:
2016-08-01 01:45:45
阅读次数:
266
约瑟夫环:用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至最后一个元素并输出该元素的值。 一、循环链表:建立一个有N个元素的循环链表,然后从链表头开始遍历并记数,如果计数值为M,则输出并删除该元素,继续循环(其实是N-1次),当当前元素与下一元素相同时退出循环。 二、取余操作:令 ...
分类:
其他好文 时间:
2016-07-24 22:19:30
阅读次数:
200
1 //单循环链表(对两个单循环链表L1、L2进行连接操作,即将L2的第一个数据元素节点连接到L1的尾节点之后,时间复杂度O(n)优化为O(1)) 2 q = r1->next; //保存L1的头节点指针 3 r1->next = r2->next->next; //L1与L2尾头连接 4 free ...
分类:
其他好文 时间:
2016-07-24 10:30:13
阅读次数:
159
【本文谢绝转载】《大纲》
数据结构:
起源:
基本概念
数据结构指数据对象中数据元素之间的关系
逻辑结构
物理结构
数据的运算
算法概念:
概念
算法和数据结构区别
算法特性
算法效率的度量
大O表示法
时间复杂度案例
空间复杂度
时间换空间案例
1)线性表..
分类:
编程语言 时间:
2016-07-23 07:40:02
阅读次数:
588
以下是用双向循环链表实现的线性表
#include
#include
#include
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef int ElemType;//ElemType这里假设为int,可以根据需要进行更改
typedef int Status;//Status是函数的类型,其值是函数...
分类:
其他好文 时间:
2016-07-15 21:40:13
阅读次数:
142
Java JDK1.7的LinkedList @author ixenos LinkedList LinkedList是List接口的双向链表实现,JDK1.7以前是双向循环链表,以后是双向非循环链表; 由于是链表结构,所以长度没有限制;而且添加/删除元素的时候,只需要改变指针的指向(把链表断开,插 ...
分类:
编程语言 时间:
2016-07-14 02:39:58
阅读次数:
234
CTDChain<T,sort,equal,pointer> * nodeTemp = NULL; using namespace std; //双向不循环链表 //sort 指示是否有序 //equal 指示当出现相同节点时的处理方法 //pointer 指示是否是一个指针类型,在析构时必不可少 ...
分类:
编程语言 时间:
2016-07-11 20:52:20
阅读次数:
190