引言:
队列的实现除了链表外,也可用数组实现。
分析描述:
队列的结构:
typedef int ElementType;
typedef struct QueueRecord{
int Capacity;
int Front;
int Rear;
int Size;
ElementType *Array;
}QueueRecor...
分类:
其他好文 时间:
2014-07-12 17:50:16
阅读次数:
213
引言:
使用链表实现栈存在“对malloc和free的调用开销昂贵”的缺点,特别是与指针操作的例程相比尤其如此。利用数组实现栈可以避免了指针。但它的缺点是可能存在空间的浪费。
分析描述:
数组栈的结点元素。
#ifndef ERROR
#define ERROR (0)
#endif
#ifndef OK
#define OK (!...
分类:
其他好文 时间:
2014-07-10 17:19:48
阅读次数:
216
表的实现:数组:可以用动态数组实现,但是,删除和插入的开销太大。链表:由内存中一系列不相连的结构连成;每个结构含有表元素和指向下一个结构的指针;链表的实现: ps:为了方便删除和插入,我们设置一个头节点;节点:包含一个元素和指向下一个节点的指针;1 struct Node{2 int E...
分类:
其他好文 时间:
2014-07-09 23:59:48
阅读次数:
401
用数组实现栈避免了使用指针,但是存在的缺陷是必须提前确定数组的大小,一般来说,这并不是太大的问题。:数组实现栈: 首先定义一个结构,TopOfStack表示栈顶,当TopOfStack为-1时,表示空栈。数组array用于存放栈元素 进栈(push)时 ++TopOfStack 然后把元素加进数组。...
分类:
其他好文 时间:
2014-07-07 19:58:11
阅读次数:
139
之前我们介绍过图的邻接矩阵存储法,它的空间和时间复杂度都是N2,现在我来介绍另外一种存储图的方法:邻接表,这样空间和时间复杂度就都是M。对于稀疏图来说,M要远远小于N2。先上数据,如下。4 51 4 94 3 81 2 52 4 61 3 7第一行两个整数n m。n表示顶点个数(顶点编号为1~n),...
分类:
其他好文 时间:
2014-07-06 18:22:26
阅读次数:
154
好奇,想用二维数组实现扫雷的埋雷和统计周围雷的数目,刚开始用一个二维数组(相对小的那个,后文称:小数组)保存数据,发现统计的时候边缘情况有点麻烦,就又定义了一个比原来列行都大2的二维数组(后文称:大数组)。把原来的保存的数据放到大数组中间,然后统计大数组,统计结果放回小数组。代码:#include#...
分类:
其他好文 时间:
2014-07-06 15:10:32
阅读次数:
171
首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。3个具体实现类的相关区别如下:ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素...
分类:
编程语言 时间:
2014-07-02 19:41:51
阅读次数:
217
ArrayList简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。 ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返.....
分类:
编程语言 时间:
2014-07-02 19:35:24
阅读次数:
330
Vector简介
Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。
LinkedList是JDK1.0引入了,它的很多实现方法都加入了同步语句,因此是线程安全的(其实也只是相对安全,有些时候还是要加入同步语句来保证线程的安全),可以用于多线程环境。
LinkedList没有丝线Serializable接口,因此它不支持序列化,实现了Cloneable接口,能被克隆,实现了RandomAccess接口,支持快速随机访问。
Vector源码剖析
Vector的...
分类:
编程语言 时间:
2014-07-02 07:42:51
阅读次数:
349
ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。
ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类。
ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了R...
分类:
编程语言 时间:
2014-06-30 17:01:32
阅读次数:
240