这次把C++中的STL的一些东西练习一下下,STL全称为 Standard Template Library ,也就是标准模板库, 要使用STL,要了解以下几个基本概念:
容器:可以把它理解为存放数据的地方,常用的一些容器有 链表(list) 栈(stack) 动态数组 (vector) 双端队列(deque) 队列(queue) 映射(map)
游标(it...
分类:
编程语言 时间:
2015-05-09 11:52:16
阅读次数:
143
LinkedList是一个双端链表,他继承了AbstractSequentaiList,实现了List,Deque,Cloneable,和Serializable接口。Deque是双端队列的接口,LinkedList有记录头的 first 和 尾的 last,所以我们可以对队列的两端进行操作。它还实现了Cloneable和Serializeble接口,它们分别是实现队列进行拷贝和序列化的接口。...
分类:
编程语言 时间:
2015-04-25 21:15:27
阅读次数:
196
先强调一下,这里的泛型算法实际不光光是对vector的操作,对于“顺序容器”均可以。
但是什么是顺序容器:
我们都知道,容器就是一些特定类型对象的集合。而顺序容器为程序员提供了控制元素存储和访问的能力。这种容器的一个显著的特征,就是容器中元素的顺序不依赖于元素的值,而是与加入容器时的位置有关。常见的顺序容器有vector、deque(双端队列)、list(双向链表)、forward_list(...
分类:
编程语言 时间:
2015-04-23 15:43:24
阅读次数:
133
数组实现双端队列的时候注意区别判断上溢和下溢。用两个栈实现队列,就相当于把两个栈底靠在一起(背靠背),一个栈用来出队列,一个栈用来进队列。这个队列的操作时间大部分时候是常数时间,除了出列的栈为空,需要把进列的栈全部转移过去,再出列。Back()操作和Pop()操作类似,也是这样。而两个队列实现栈,队...
分类:
编程语言 时间:
2015-04-11 20:41:49
阅读次数:
254
双端队列:函数描述c.assign(beg,end)c.assign(n,elem)将[beg; end)区间中的数据赋值给c。将n个elem的拷贝赋值给c。c.at(idx)传回索引idx所指的数据,如果idx越界,抛出out_of_range。c.back()传回最后一个数据,不检查这个数据是否...
分类:
编程语言 时间:
2015-04-06 12:47:22
阅读次数:
158
双端队列是一种插入和删除可以既可以在表头也可以表尾进行的一种数据结构,四种基本操作分别为:
push:在表头插入
pop:在表头删除
insert:在表尾插入
eject:在表尾删除
每一种操作的复杂度都为O(1)。通过组合不同插入和删除,双端队列可以作为栈使用,也可以作为队列使用:#include "stdafx.h"
#include using namespace...
分类:
其他好文 时间:
2015-04-05 10:36:04
阅读次数:
201
一摞书,2个操作,一个操作是在书堆上加一本,第二个将前K个书翻转
看别人用Splay树做的,但是可以用双端队列模拟,因为K个书之后的书位置已经定下来了,所以只需要记录在队列头加书还是尾加书
#include
#include
#include
#include
#include
#include
#include
using namespace std;
int main(){
int...
分类:
其他好文 时间:
2015-03-31 14:47:11
阅读次数:
123
【练习3.26】双端队列(deque)是由一些项的表组成的数据结构,对该数据结构可以进行下列操作:Push(X,D):将项X插入到双端队列D的前端。Pop(D):从双端队列D中删除前端项并返回。Inject(X,D):将项X插入到双端队列D的尾端。Eject(D):从双端队列D中删除尾端项并返回。编...
分类:
其他好文 时间:
2015-03-21 06:21:51
阅读次数:
249
所谓容器,就是一个装东西的盒子,在c++中,我们把装的东西叫做“元素”而顺序容器,就是说这些东西是有顺序的,你装进去是什么顺序,它们在里面就是什么顺序。c++中的顺序容器一共有这么几种:vector可变大小数组deque双端队列list双向链表forward_list单向链表array固定数组大小s...
分类:
编程语言 时间:
2015-03-18 19:49:46
阅读次数:
177
没有什么特别的,就是按照题意进行模拟,代码有点长。。。
#include
#include
#include
#include
#include
using namespace std;
const int maxn = 222;
int n,t[10],q;
int Value[maxn];
/*
1 a = 1
2 print
3 lock
4 ...
分类:
其他好文 时间:
2015-03-14 20:05:30
阅读次数:
153