1.
什么是链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。
相比于线性表顺序结...
分类:
其他好文 时间:
2014-06-16 08:35:35
阅读次数:
173
线性表操作时间限制(普通/Java):1000MS/3000MS
运行内存限制:65536KByte总提交:2795
测试通过:589描述线性表是n个元素的有序集合(n30),n是线性表中元素的个数,称为线性表的长度。可以用一组地址连续的存储单元依次存储线性表中元素,采用这种存储方...
分类:
其他好文 时间:
2014-06-13 16:31:37
阅读次数:
251
特点唯一一个头节点唯一一个尾节点除头节点外,均只有一个前驱节点除尾节点外,均只有一个后继节点顺序表插入平均移动步数 n/2删除平均移动步数
(n-2)/2查找时间代价 O(n)二分查找时间代价 O(log2n)适合整块存储有序数据,不适合频繁插入删除以及动态扩展。链接表查找时间代价 O(...
分类:
其他好文 时间:
2014-06-11 08:27:00
阅读次数:
156
队列的存储结构有两种:一种是线性表存储,一种是链式存储。用线性表存储时,要注意队列的长度有没有超过预先设置的大小,在这个程序中,队列的可以在存满的时候,自动增加队列的长度。用链表存储,则没有长度的限制。...
分类:
其他好文 时间:
2014-06-11 06:37:33
阅读次数:
236
数据结构课程的重要性再怎么强调也不为过,对于将来从事编程工作的程序员来说,这是必修的内功心法,程序员的内功高低就体现在这个上面。当然对于非计算机从业人员,掌握这门课程对于锻炼我们的数学思维、逻辑思维和理性思维来说也是有百益而无一害的。现在课程视频已经全部上..
分类:
其他好文 时间:
2014-06-10 23:55:55
阅读次数:
377
栈的定义
1, 栈是一种特殊的线性表
2,栈仅能在线性表的一端进行操作
3,栈顶(Top): 允许操作的一端 允许操作的一端
4,栈底(Bottom): ,不允许操作的一端 不允许操作的一端
这里我们实现了顺序栈和链式栈~~~~...
分类:
编程语言 时间:
2014-06-10 13:49:52
阅读次数:
265
队列也是一种常见的线性表,它和栈相比有如下不同:
队列可以在表的两端进行操作。栈只能在栈顶进行插入和删除。两端允许操作的类型不一样:可以进行删除的一端称为队头,这种操作也叫出队;可以进行插入的一端称为队尾,这种操作也叫入队。总的来说,队头只能出队,队尾只能入队。
队列的示意图:
模拟队列这种数据结构并不是什么难事,但会遇到一些问题,如:
假溢出
队...
分类:
其他好文 时间:
2014-06-08 05:33:05
阅读次数:
230
#include#include#define LIST_INIT_SIZE
10/*线性表初始长度*/#define LIST_CREATENT 2/*每次的增量*/typedef int ElemType;using
namespace std;typedef struct SqList/*线性...
分类:
其他好文 时间:
2014-06-07 21:01:21
阅读次数:
322
C++面向对象中,虚函数与虚继承是两个完全不同的概念。一、虚函数
C++程序中只要类中含有虚拟函数,编译程序都会为此类生成一个对应的虚拟函数跳转表(vtbl),该虚拟函数跳转表是一个又若干个虚拟函数体入口地址组成的一个线性表。派生类的虚拟函数跳转表的前半部分由父类的vtbl得出,但是里面的内容...
分类:
编程语言 时间:
2014-06-07 20:28:48
阅读次数:
344
hello,everybody,今天我们来学习线性表的最后两种形式,循环链表、双向链表。这两种链表,是链式存储结构的不同形式。书归正传,我们先来看看循环链表吧。
大家思考一个问题,我们把线性表各个元素比作下图的路线图上的城市: 我们的线性表各个结点的指针,都是指向唯一的后继结点,线性表的终端结点的指...
分类:
其他好文 时间:
2014-06-07 06:24:12
阅读次数:
338