1双向线性链表
1.1 问题
双向线性链表是采用链式存储的方式存储的线性表。链式存储结构是由一系列结点(链表中每一个元素称为结点)组成,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储当前结点的前驱结点和后继结点地址的指针域,结点是在有数据时动态生成的,是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
1.2 方案
...
分类:
编程语言 时间:
2016-04-21 11:50:04
阅读次数:
260
.线性表链式存储结构:将采用一组地址的任意的存储单元存放线性表中的数据元素。 链表又可分为: 单链表:每个节点只保留一个引用,该引用指向当前节点的下一个节点,没有引用指向头结点,尾节点的next引用为null。 循环链表:一种首尾相连的链表。 双向链表:每个节点有两个引用,一个指向当前节点的上一个节
分类:
编程语言 时间:
2016-02-21 22:49:10
阅读次数:
320
本人文笔较差,语文从来不及格,基础不好,写此类文章仅供自己学习,理解队列及其他知识,高手大神请略过。参考书籍 《数据结构与算法分析-Java语言描述》、《大话数据结构》1.1 静态链表简介用数组描述的链表叫静态链表。官方是这么给的定义。另一种描述方法叫游标实现法。先不管这些无聊的定义。先按我个人理解...
分类:
其他好文 时间:
2015-09-28 23:34:35
阅读次数:
204
基本操作 Node* applyNode(); //分配节点Node* addNodeH(Node* Head,Node* InsertNode); //在头部插入节点Node* addNodeT(Node* Head,Node* InsertNode); //在尾部插入节点Node* addNod...
分类:
其他好文 时间:
2015-08-11 23:07:38
阅读次数:
100
队列相关基础内容参我的博文: 队列顺序存储 - 设计与实现 - API函数
队列也是一种特殊的线性表;可以用线性表链式存储来模拟队列的链式存储。
主要代码:
// linkqueue.h
// 队列链式存储API声明
#ifndef _LINKQUEUE_H_
#define _LINKQUEUE_H_
typedef void LinkQueue;
// 创建队列
LinkQue...
基本概念
链式存储定义
为了表示每个数据元素与其直接后继元素之间的逻辑关系,每个元素除了存储本身的信息外,还需要存储指示其直接后继的信息。
表头结点
链表中的第一个结点,包含指向第一个数据元素的指针以及链表自身的一些信息
数据结点
链表中代表数据元素的结点,包含指向下一个数据元素的指针和数据元素的信息
尾结点
链表中的最后一个数据结点,其下一元素指针为空,表示无...
#include "stdio.h" #include "string.h"#include "ctype.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "time.h"#define OK...
分类:
其他好文 时间:
2015-06-06 16:33:44
阅读次数:
181
今天总结静态链表.
什么是静态链表?
我理解静态链表是一种伪链表,因为它没有使用指针。静态链表使用数组实现的,这个数组是一个结构体数组,结构体由数据域和指针域构成,与单链表不同的是,这个指针域并不是指针,而是一个整数,用来指向下一个结点(数组下标)。
静态链表中实际上相当于有两个链表,一个时实际数据所构成的一个链表,另一个是数组中空元素所构成的链表,称为空闲链表或备用链表,用来存放插入进来的...
分类:
编程语言 时间:
2015-05-10 15:44:25
阅读次数:
139
今天总结线性表中的双向循环链表。
什么是双向循环链表?
看名字估计也就知道了,首相他是一个循环链表,也就是最后一个结点的指针域不为空,而是指向头结点,其次与单向循环链表相比,它是双向的。所谓双向,就是给每个结点再增加一个指针域,这个指针域指向前一个结点。
即是下面这样(来自百度图片):
为什么要用双向循环链表?
无论单链表还是单向循环链表,都只有一个指针域,它们都是直...
分类:
编程语言 时间:
2015-05-09 10:17:56
阅读次数:
228
今天总结循环单链表
什么是单循环链表?
单链表终端结点的指针域是指向空的,如果将其指向头结点,这样就形成了一个环,那么这种首尾相接的环就够成了单循环链表.
单链表中我们都是用头指针来表示的,但是在单循环链表里,用尾指针(指向最后一个节点)。为什么要这样,因为如果用头指针,那么当查找最后一个元素的时候,就要循环遍历,时间复杂度为O(n),如果用尾指针,时间复杂度为O(1),而因为是循环的,所以...
分类:
编程语言 时间:
2015-05-07 14:44:21
阅读次数:
192