首先是单链表(带附加表头),实现类代码如下: 测试代码如下: 小结: 一.单链表与顺序表相比: 1.顺序表可以方便的随机存取表中的任一节点,速度快;但是在表中插入删除一个数据时,为了保持其他元素的相对次序不变,平均需要移动一半的元素,效率很低;还有若事先对表长估计不足,过小会形成内存浪费,过大则需要 ...
分类:
编程语言 时间:
2017-01-15 18:15:10
阅读次数:
294
类实现代码如下: 测试代码如下: 小结: 1.顺序表中各个元素必须相继存放于一个连续的空间内,不准跳跃地存放。(与一维数组的区别) 2.顺序表中最复杂的操作就是搜索,插入和删除运算。 3.分析搜索的时间代价主要看循环内数据的比较次数,次数从1到n,平均比较(n+1)/2个表项。 4.分析插入删除的时 ...
分类:
编程语言 时间:
2017-01-14 17:32:31
阅读次数:
353
不积跬步,无以至千里;不积小流,无以成江海。从简单的开始,坚持着。 ...
分类:
其他好文 时间:
2017-01-10 21:29:46
阅读次数:
248
( 1)除第一个位置的数据 元素外,其它数据元素位置的前面都只有一个数据元素;( 2)除最后一个位置的 数据元素外,其它数据元素位置的后面都只有一个元素。也就是说,数据元素是 一个接一个的排列。因此,可以把线性表想象为一种数据元素序列的数据结构。 2.1.1 线性表的定义 线性表(List) 线性表... ...
分类:
编程语言 时间:
2017-01-10 17:08:17
阅读次数:
224
队列既可以用链表实现,也可以用顺序表实现。跟栈相反的是,栈一般用顺序表来顺序表来实现,而队列常用链表来实现,简称为链队列。 typedef struct QNode{ ElemType data; struct QNode *node;}QNode, *QueuePrt;typedef struct ...
分类:
其他好文 时间:
2016-12-30 21:49:38
阅读次数:
160
线性表是最简单的线性结构,线性表的主要操作特点是可以在任意位置插入和删除一个数据元素。 线性表可以用顺序存储结构和链式存储结构存储。 用顺序存储结构事先的线性表称为顺序表,用链式存储结构存储的称为链表。 线性表的抽象数据类型主要包括两个方面:即数据集合和该数据集合上的操作集合。 1、数据集合 Dat ...
分类:
其他好文 时间:
2016-12-30 09:28:53
阅读次数:
140
编译器:vs2013 内容: #include "stdafx.h"#include<stdio.h>#include<malloc.h>#include<stdlib.h> #define LINK_INIT_SIZE 100#define LISTINCREAMENT 10#define Ele ...
分类:
其他好文 时间:
2016-12-21 02:38:21
阅读次数:
223
运行结果: abc@ubuntu:~$ swop !程编爱热此如是我 在utf8模式下,一个汉字占用3个byte,在gbk下,一个汉字占用2个byte ...
分类:
系统相关 时间:
2016-12-18 22:55:17
阅读次数:
191
题目描述 听说有人觉得自己已经掌握了数组,那么我现在就来考考你们吧! 给出一个长度为n的数组a,要求在不使用另外数组的前提下,将数组中的每一个整数循环向右移m(m>=0)个位置,即将a中的数据由(a0 a1……aN-1)变换为(aN-M …… aN-1 a0 a1……aN-M-1)(即:最后m个数循 ...
分类:
编程语言 时间:
2016-12-18 20:51:57
阅读次数:
160
函数接口定义: 其中List结构定义如下: 各个操作函数的定义为: List MakeEmpty():创建并返回一个空的线性表; Position Find( List L, ElementType X ):返回线性表中X的位置。若找不到则返回ERROR; bool Insert( List L, ...
分类:
其他好文 时间:
2016-12-18 09:52:22
阅读次数:
460