码迷,mamicode.com
首页 >  
搜索关键字:数组实现    ( 1285个结果
队列——数组实现
引言:        队列的实现除了链表外,也可用数组实现。 分析描述:       队列的结构: 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
Java中Vector和ArrayList的区别
首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。3个具体实现类的相关区别如下:ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素...
分类:编程语言   时间:2014-07-02 19:41:51    阅读次数:217
【Java集合源码剖析】ArrayList源码剖析
ArrayList简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。 ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返.....
分类:编程语言   时间:2014-07-02 19:35:24    阅读次数:330
【Java集合源码剖析】Vector源码剖析
Vector简介 Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。 LinkedList是JDK1.0引入了,它的很多实现方法都加入了同步语句,因此是线程安全的(其实也只是相对安全,有些时候还是要加入同步语句来保证线程的安全),可以用于多线程环境。 LinkedList没有丝线Serializable接口,因此它不支持序列化,实现了Cloneable接口,能被克隆,实现了RandomAccess接口,支持快速随机访问。 Vector源码剖析 Vector的...
分类:编程语言   时间:2014-07-02 07:42:51    阅读次数:349
【Java集合源码剖析】ArrayList源码剖析
ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。 ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类。 ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了R...
分类:编程语言   时间:2014-06-30 17:01:32    阅读次数:240
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!