1、结构 vector模塑出一个动态数组,因此,它本身是“将元素置于动态数组中加以管理”的一个抽象概念。vector将其元素复制到内部的dynamic array中。元素之间总存在某种顺序,所以vector是一种有序群集。vector支持随机存取,因此只要知道位置,可以在常数时间内存取任何一个元素。 ...
分类:
编程语言 时间:
2017-06-11 16:23:57
阅读次数:
277
一、关于数组的使用,有几个特殊的地方需要注意: 1.一维数组名可当做指针 具体应用:一维数组/二维数组的传参(参见博客“c++ --二维数组参数传递http://www.cnblogs.com/cygalaxy/p/6963789.html”) 2.动态数组 具体应用:根据实际需要为数组开辟具体大小 ...
分类:
编程语言 时间:
2017-06-10 22:27:31
阅读次数:
138
ArrayList和LinkedList的实现差异 List代表一种线性表的数据结构,ArrayList则是一种顺序存储的线性表,ArrayList底层采用动态数组的形式保存每一个集合元素,LinkedList则是一种链式存储的线性表,其本质上就是一个双向链表,它不仅实现了List接口,还实现了De ...
分类:
编程语言 时间:
2017-06-09 12:35:01
阅读次数:
249
据说期末考试要考到Vector 这个类,出于复习须要在这里就要好好整理下这个类了。 一、基本概念 Vector 是可实现自己主动增长的对象数组。 java.util.vector提供了向量类(vector)以实现类似动态数组的功能。在Java语言中没有指针的概念,但假设正确灵活地使用指针又确实能够大 ...
分类:
编程语言 时间:
2017-06-07 14:21:23
阅读次数:
171
完美消除序列($MCS$算法): 每个点记录一个势,表示与它相邻的已经在完美消除序列的点的个数。 先把$n$号点弄出来,然后每次把势最大的弄出来,这样依次求出的点的逆序就是完美消除序列,使用链表或动态数组可以让复杂度降至$O(n)$。 代码: 最小染色:求出完美消除序列以后逆序把当前点设一个与相邻点 ...
分类:
其他好文 时间:
2017-06-06 23:36:50
阅读次数:
285
1. STL容器简介 STL提供了很多泛型容器,如vector,list和map。程序员在使用这些容器时只需关心何时往容器内塞对象,而不用关心如何管理内存,需要用多少内存,这些STL容器极大地方便了C++程序的编写。例如可以通过以下语句创建一个vector,它实际上是一个按需增长的动态数组,其每个元 ...
分类:
其他好文 时间:
2017-06-06 20:41:19
阅读次数:
141
Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。 它的很多实现方法都加入了同步语句,因此是线程安全的,(相对安全,有些情况还是要加入同步语句来保证线程安全的)可以用于多线程环境。 Vector没有实现Serializable接口,因此它不支持序列化,实现了Cloneable接口,能 ...
分类:
其他好文 时间:
2017-06-05 15:51:23
阅读次数:
107
ArrayList的实质就是动态数组。所以可以通过下标准确的找到目标元素,因此查找的效率高。但是添加或删除元素会涉及到大量元素的位置移动,所以效率低。 一、构造方法 ArrayList提供了3个构造方法 1、无参的,就是把表示集合的数组赋值为空。 public ArrayList() { this. ...
分类:
其他好文 时间:
2017-06-03 00:49:37
阅读次数:
206
1、什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小 2、如何使用ArrayList 最简单的例子:ArrayList Li ...
分类:
其他好文 时间:
2017-06-01 11:18:36
阅读次数:
204
转载请注明出处:http://blog.csdn.net/ns_code/article/details/35793865 Vector简介 Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。 Vector是JDK1.0引入了,它的很多实现方法都加入了同步语句,因此是线程安全的(其实 ...
分类:
编程语言 时间:
2017-05-28 23:46:24
阅读次数:
283