-
Notifications
You must be signed in to change notification settings - Fork 0
/
array_vector_queue_ linkedList
57 lines (44 loc) · 2.35 KB
/
array_vector_queue_ linkedList
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
数组
如果存放n个int类型的变量,就可以存放在一个数组中,然后通过下标访问。数组的缺点:1、长度明确,2、地址连续。
向量vector
https://www.cnblogs.com/yoke/p/6080080.html
数组的改良版就是向量,克服了数组固定长度的缺点,需要在数组元素进行动态增长,那么vector就可以满足。
声明一个int向量以替代一维数组向量:vector <int>a;(等价于声明了一个数组a[],大小没有指定)
使用vector替代二维数组,其实只要声明一个一维数组即可,而数组的名字其实代表的就是它的首地址,即:vector <int*>a.
vector <int> a;
int b=5;
a.push_back(b);
cout<<a[0];
push_back 在数组的最后添加一个数据
pop_back 去掉数组的最后一个数据
at 得到编号位置的数据
begin 得到数组头的指针
end 得到数组的最后一个单元+1的指针
front 得到数组的最后一单元的引用
max_size 得到vector最大可以是多大
capacity 当前vector分配的大小
size 当前使用数据的大小;
empty 判断vector是否为空
链表linkedList:很好的克服了数组动态增长的缺点,在内存中不需要连续的内存,插入、删除操作(0)1时间的复杂
度就可以了,长度时动态增长的。如果你的元素需要频繁的进行插入、删除。操作链表就是每一个节点(末节点除外)都包含了
指向下一个节点的指针。
https://blog.csdn.net/u011411195/article/details/51150102
队列:
队列中的元素遵循“先进先出”(First In First Out)的原则,简称FIFO结构
在队尾添加元素,在队头删除元素
允许元素插入的一端称为队尾,允许元素删除的一端称为队头
入队:队列的插入操作。
出队:队列的删除操作
函数:
入队:push()
出队:pop()
C++队列queque模板类的定义在<queue>头文件中
判断是队空还是队满:队首标志=队尾标志时,表示栈空。栈满:队尾+1=队首时,表示队满。
#inclde<queue>
queue< int > q;
q.empty();如果队列为空,返回true,否则返回false。
q.size(); 返回队列中元素的个数
q.pop();删除队列首部的元素但不返回其值
q.front()返回队列首部的值,但不删除该元素
q.push()在队尾压入新元素
q.back()返回队列尾元素的值,但是不删除该元素