范围:郝斌Cp140 p142(为什么需要动态内存到malloc) 一,传统数组(静态数组)的缺点: 1,数组长度必须事先制定,且只能是常整数,不能是变量; 2,静态数组,程序员不能手动释放; ??3,数组长度一旦定义就不能再改变; ??4,静态数组不能跨函数使用; //动态数组能够很好地解决这四个 ...
分类:
其他好文 时间:
2019-01-20 11:50:51
阅读次数:
181
一、deque介绍: deque(双端队列)是一个动态数组,可以向两端发展,因此不论在尾部或头部安插元素都十分迅速。 在中间部分安插元素则比较费时,因为必须移动其它元素。 二、用法 1、头文件 2、定义及初始化 除此之外,还可以直接使用数组来初始化向量: 3、基本操作 (1) 容量函数 容器大小: ...
分类:
编程语言 时间:
2019-01-12 17:56:16
阅读次数:
184
一、vector介绍: vector(向量): 是一种序列式容器,事实上和数组差不多,但它比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而vector正好弥补了这个缺陷,它的特征是相当于可分配拓展的数组(动态数组),它的随机访问快,在中间插入和删除慢,但在末 ...
分类:
编程语言 时间:
2019-01-12 15:17:36
阅读次数:
146
动态内存相关内容,智能指针shared_ptr, unique_ptr, weak_ptr, 动态数组的操作,allocator类及算法 ...
分类:
编程语言 时间:
2018-12-27 23:42:06
阅读次数:
352
1 #include 2 using namespace std; 3 #include //动态数组 4 #include //算法 5 6 void PrintVector(int v) { 7 cout v; //定义一个容器 指定存放的元素类型 18 v.push_back(10); //把... ...
分类:
其他好文 时间:
2018-12-24 17:16:20
阅读次数:
119
一、ArrayList简介 1.1、ArrayList概述 1)ArrayList是个动态数组,它是基于数组实现的List类。 2)该类封装了一个动态再分配的Object[]数组,每一个类对象都有一个capacity属性,表示它们所封装的Object[]数组的长度,当向ArrayList中添加元素时 ...
分类:
其他好文 时间:
2018-12-24 02:59:26
阅读次数:
130
新建一个Test 类,添加一个方法Test1(),添加如上代码,在main方法中调用。 输出结果为:count = 3 capacity = 4 如果length = 0,输出结果为 count = 0 capacity = 0 如果length = 1,输出结果为 count = 1 capaci ...
分类:
编程语言 时间:
2018-12-22 15:01:06
阅读次数:
235
(希望我所描述的,给你带来收获!) 对于栈,我们描述的较为简单~完全基于第一篇文章动态数组的实现——第一篇文章传送门:动态数组的实现 第一步:声明一个Stack接口 第二步:新建一个ArrayStack类去实现Stack接口 注:栈的实现完全是基于Array<E>类的,其入栈操作则是在数组末尾增加一 ...
分类:
编程语言 时间:
2018-12-19 13:17:17
阅读次数:
183
首先呢,对于ArrayList,相当于一个动态数组,里面可以存储重复数据,并且支持随机访问,不是线程安全的。对于更多的底层东西,且听分解。 打开源码,先看继承了哪些类,实现了哪些接口,然后继承的这些类或接口是否还有父类,一直深挖到顶部 可以看出,ArrayList集合继承了AbstractList类 ...
分类:
编程语言 时间:
2018-12-16 11:15:36
阅读次数:
195
(希望我所描述的一切,给你带来收获!) 我们将要使用的是JAVA中的静态数组——E[] data = new E[]();去实现一个属于我们自己的动态数组 第一步:(关于泛型不作过多解释) data是我们需要的数组,size是我们需要维护的动态数组的长度;size可以认为是数组的索引号,size总是 ...
分类:
编程语言 时间:
2018-12-12 18:59:48
阅读次数:
170