线性表(List):零个或者多个数据元素的有限序列。 线性表的存储结构大约分为三种:1,顺序存储结构 2,链式存储结构 3,静态链表。 顺序存储结构的线性表是由数组实现的,由于C++不支持变长数组,所以顺序存储结构的线性表在定义时就指定了长度,这是一个很大的问题。譬如说,一个顺序存储结构的线性表的长 ...
分类:
其他好文 时间:
2016-04-05 22:45:26
阅读次数:
274
链式线性表 学习了顺序线性表后,我开始有一个疑问,每一次的插入和删除都需要大量的移动数据吗,有没有一种方法可以不移动数据呢?这就是本章要学习的新的数据结构,线性表的链式存储方式,记不记得第一章就说过的,对于一种数据结构,其逻辑结构是唯一的,但是它可能对应着多种存储结构。链式结构就是线性表的另外一种存...
分类:
其他好文 时间:
2015-09-08 06:54:48
阅读次数:
240
基于之前做的单向链式线性表http://blog.csdn.net/shiwazone/article/details/47000191,改进下,实现了循环链表,相对应单向链表,循环链表将尾节点的指针域指向头节点,加入循环,可以让我们在查找某一个index的节点时,可以先判断一下位置和链表长度的关系,如果index处于链表的前半部分,我们可以从头节点遍历查找,如果处于后半部分,我们可以从尾节点往前...
分类:
编程语言 时间:
2015-07-23 09:33:24
阅读次数:
185
先上代码!以后再仔细编辑!
头文件
#pragma once
template
class ChainList
{
public:
struct Node
{
EleType _data;
Node* _next;
Node(){ _next = nullptr; }
Node(EleType data){ _data = data; _next = nullptr; ...
分类:
编程语言 时间:
2015-07-22 13:15:29
阅读次数:
112
一.链表的基本概念单链表 : n个结点链接成一个链式线性表的结构叫做链表,当每个结点中只包含一个指针域时,叫做单链表表头结点:链表中的第一个结点,包含指向第一个数据元素的指针以及链表自身的一些信息 如长度等数据结点:链表中代表数据元素的结点,包含指向下一个数据元素的指尾结点: 链表中的最后一...
分类:
其他好文 时间:
2015-04-14 12:44:34
阅读次数:
136
Description建立长度为n的单链表,在第i个结点之前插入数据元素data。Input第一行为自然数n,表示链式线性表的长度;第二行为n个自然数表示链式线性表各元素值;第三行为指定插入的位置i;第四行为待插入数据元素data。Output指定插入位置合法时候,输出插入元素后的链式线性表的所有元...
分类:
其他好文 时间:
2015-04-07 13:27:14
阅读次数:
320
队列 和 栈 是 一种 受限制的 线性表。所以 他们的 实现方式 都 相差 无几。之前有过 链栈 和 链式线性表 的 实现经验,自然 写 链队 ,也毫无问题。
下面详细讲解每一段代码 的技术要点
下面是队列节点的数据结构
struct QueueNode
{
ElementType data;
QueueNode * next;
};
//生成一个节点
QueueNode * ...
分类:
其他好文 时间:
2015-03-06 12:50:50
阅读次数:
177
package com.hephec.ds;
public class LinkedList {
//定义一个内部类节点Node Node实例代表链表的节点
class Node{
//保存节点的数据
private T data;
//保存下一个节点的引用
private Node next;
//无参的构造方法
public Node(){
}
//有参的构造方法...
分类:
编程语言 时间:
2014-11-17 12:29:29
阅读次数:
155
顺序线性表的优点:方便存取(随机的),特点是物理位置和逻辑为主都是连续的(相邻)。但是也有不足,比如;前面的插入和删除算法,需要移动大量元素,浪费时间,那么链式线性表 (简称链表) 就能解决这个问题。一般链表的存储方法一组物理位置任意的存储单元来存放线性表的数据元素,当然物理位置可以连续,也可以不连...
分类:
编程语言 时间:
2014-10-31 06:21:00
阅读次数:
343