栈 栈(Stack)是一个后进先出(LIFO)的数据结构,直接上图 简单来说栈只有两种操作,出栈和入栈,直接来看一下java.util.Stack里面的实现。 Stack继承自Vector一个线程安全的容器(动态数组) 入栈操作,调用了Vector的addElement函数,向动态数组末尾添加一个元 ...
分类:
其他好文 时间:
2020-05-02 21:17:06
阅读次数:
81
数组 数组是一个变量, 由数据类型相同的一组元素组成 变量是内存中的一块空间, 而数组是内存中一块连续的空间 数组结构 数组的结构和基本元素 标识符: 数组的名称, 用于区分不同的数组 数组元素: 向数组中存放的数据 元素下标: 对数组元素进行编号 元素类型: 数组元素的数据类型 数组只有一个名称, ...
分类:
编程语言 时间:
2020-05-02 16:48:41
阅读次数:
57
整理下最近碰到的vba问题及我笨拙的解决方式。学的方式为遇到问题想办法去解决,查资料,补充知识点,可能代码有点拙劣,前期也没追求优化,简洁。以实现结果为目标。遇到很多用宏解决比较繁琐的问题比如批量合并几十个大容量CSV文件,会转换思想写个python脚本去解决。宏合并的方式就不写了,确实不如pyth ...
分类:
编程语言 时间:
2020-04-30 23:29:18
阅读次数:
69
动态存储分配在数组一章中,曾介绍过数组的长度是预先定义好的,在整个程序中固定不变。C语言中不允许动态数组类型。例如:int n;scanf("%d",&n);int a[n];用变量表示长度,想对数组的大小作动态说明,这是错误的。但是在实际的编程中,往往会发生这种情况,即所需的内存空间取决于实际输入 ...
分类:
其他好文 时间:
2020-04-29 15:00:47
阅读次数:
52
在c++中,有的时候会遇到变长的数组(不管是一维的还是二维的),这个时候就需要用到动态数组了,并且要用new和delete两个操作符,这俩操作符一般成对使用。 先说一维的动态数组吧,直接上代码 1 #include<iostream> 2 using namespace std; 3 int mai ...
分类:
编程语言 时间:
2020-04-22 22:55:55
阅读次数:
69
思路: 使用两个数组,a[]存储所有arr中重复的元素,另一个数组b[]下标是arr中的元素值,数组元素是对应下标值出现的次数。时间复杂度是O(n) 需要注意的是,b[]需要申请静态数组,因为如果使用动态数组相邻两个元素值差别的话会发生溢出;a[]需要时动态数组,因为元素个数不确定同时所有元素都是有 ...
分类:
编程语言 时间:
2020-04-07 18:25:47
阅读次数:
127
容器(container)用于存放数据的类模板。可变长数组、链表、平衡二叉树等数据结构在STL中都被实现为容器。 在使用容器时,即将容器类模型实例化为容器类,会指明容器中存放的元素是什么类型。 容器可以分为两大类: 顺序容器 和 关联容器 顺序容器 顺序容器有 可变长动态数组vector、双端队列d ...
分类:
编程语言 时间:
2020-04-07 00:07:21
阅读次数:
98
1. 使用new和delete来构造 在使用new申请内存时,在使用过后,一定要采用delete来进行释放内存。 使用该方法创建动态数组时,需要由数组的角标依次向右进行创建; 同时,也需要依照角标,从左到右来进行删除。 代码功能为:声明三维动态数组,将角标和进行相加并添加到mfc的list中,然后释 ...
分类:
编程语言 时间:
2020-04-05 18:11:11
阅读次数:
65
poj3061 尺取法裸题,维护动态数组即可 ,l,r,sum,ans; 代码: #include <cstdio> #include <algorithm> #include <cstring> #define MAX 100005 #define LL long long #define INF ...
分类:
其他好文 时间:
2020-03-30 23:46:53
阅读次数:
130
GO 语言引用类型 Go 语言切片 Go 语言切片(Slice) Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。 定 ...
分类:
编程语言 时间:
2020-03-27 10:33:54
阅读次数:
61