结点的引入 链表是一种链式存储结构,链式存储结构的特点是用一组任意的存储单元存储数据元素。为了能正确表示数据元素之间的线性关系,需引入结点概念。一个结点表示链表中的一个数据元素,节点中除了储存数据元素的信息, 还必须存放指向下一个节点的的指针(单、双链表的最后一个节点除外,它们存储的是一个空指针NU ...
分类:
其他好文 时间:
2017-02-19 00:19:50
阅读次数:
414
简单实现了单链表的功能,在查找、求前驱、插入、删除方法中判断了越界问题,并没有考虑其他可能产生的错误。 不积跬步,无以至千里;不积小流,无以成江海。坚持着。 ...
分类:
其他好文 时间:
2017-01-12 13:08:13
阅读次数:
201
我们知道,数组式计算机根据事先定义好的数组类型与长度自动为其分配一连续的存储单元,相同数组的位置和距离都是固定的,也就是说,任何一个数组元素的地址都可一个简单的公式计算出来,因此这种结构可以有效的对数组元素进行随机访问。但若对数组元素进行插入和删除操作,则会引起大量数据的移动,从而使简单的数据处理变 ...
分类:
其他好文 时间:
2016-09-20 10:15:27
阅读次数:
153
学习编程也有一段时间了,但是总是感觉,自己缺少一些什么东西。编程一味的学习照着别人写的习惯,没有自己的思想,是不能有质的提升的。总是感觉自己不能做什么,对待代码还是缺少基本的实现的能力,更不用说什么技巧算法了。还需要的大量的联系。 我打算好好把数据结构的算法,实现以下,总是感觉自己,看起来会了,但是 ...
分类:
其他好文 时间:
2016-09-10 20:46:12
阅读次数:
191
单链表的实现需要定义两个类,一个是Node类,存储了节点的数据值以及后继节点的引用。另外一个类就是list,用于存储这些Node节点。单链表的插入和删除操作有两种方法:头结点插入(删除)和末节点插入(删除)。无论是头结点插入还是末节点插入,需要考虑的特殊情况是如果链表是空的话,方法适合也适合。同时, ...
分类:
编程语言 时间:
2016-08-02 19:14:11
阅读次数:
529
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由 ...
分类:
其他好文 时间:
2016-07-09 16:19:20
阅读次数:
182
#include
using namespace std;
struct listNode{
int data; //存放本节点的数据
struct listNode* next; //存放下一个节点的位置
};
void insertNode(listNode *head, int pos, int value) {
int step = 0;...
分类:
其他好文 时间:
2016-05-12 13:16:59
阅读次数:
81
根据普通快排的思路,选择1个点为中心点,保证中心点左边比中心点小,中心点右边比中心点大即可. 单链表的实现为: 1.使第一个节点为中心点. 2.创建2个指针(p,q),p指向头结点,q指向p的下一个节点. 3.q开始遍历,如果发现q的值比中心点的值小,则此时p=p->next,并且执行当前p的值和q ...
分类:
编程语言 时间:
2016-05-05 00:13:19
阅读次数:
154
一、基础知识:链表(线性表的链式存储结构)(1)特点:逻辑关系相邻,物理位置不一定相邻。(2)分类:a.不带头节点b.带头节点(3)单链表的存储结构:typedefstructSListNode
{
DataTypedata;
structSListNode*next;
}SListNode;二、代码实现(因避开使用二级指针,所以..
分类:
编程语言 时间:
2016-04-25 22:55:38
阅读次数:
588
/*******************
WZASUST2016
1:先int实例后模板化
2:复制不能改变原串的数据及结构
3:随机指针的正确性
思考:除了追加新结点后分离新旧链表;
还有一复杂度高的算法,就是记录下每一个结点,随机指针指向的结点在整个链中的排序(队列实现)建立新链表后,根据队列..
分类:
其他好文 时间:
2016-04-13 21:09:40
阅读次数:
203