Vector
Vector类提供了类似数组功能的机制,并对C++中数组做出了改进
API
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Vector<int> vec; Vector<int> vec(VEC_LEN);
vec.add(10); vec.insert(2, 30); vec.remove(0) vec.set(3, 70) vec[3] = 70
|
构造函数
Vector<type>()
Vector<type>(n, value)
:创建含有n个对象Vector元素,
每个元素都被初始化为value
,缺省为相应类型默认值
方法
.size()
.isEmpty()
.get(index)
.set(index, valu)
.add(value)
.insertAt(index, value)
.removeAt(index)
.clear()
操作符
[index]
v1 + v2
:连接两个Vector,返回包含所有元素的Vector
v1 += e1
:向Vector尾部添加元素
注意
参数传递Vector对象
1 2 3 4 5 6 7 8 9
| void print_vector(Vector<int> & vec){ cout << "["; for (int i=0; i<vec.size(); i++){ if (i>0) count << ","; count << vec[i]; } count << "]" << endl; }
|
二维结构
1 2
| Vector< Vector<int> > sodok(9, Vector<int>(9))
|
Stack
API
构造函数
方法
.size()
.isEmpty()
.push(value)
.pop()
.peek()
:返回栈顶元素但不出栈
.clear()
Queue
API
构造函数
方法
.size()
.isEmpty()
.enqueue(value)
:将值添加到队尾
.dequeue()
:删除队首元素,并返回给调用者
.peek()
:返回队首元素但不将其熟队列中删除
.clear()
Map
API
构造函数
Map<key_type, value_type>()
方法
.size()
.isEmpty()
.put(key, value)
.get(key)
:返回Map对象中当前与键key相关联的值
- 若该键没有定义,
get
创建新的键值对,设置值为默认值
.remove(key)
.containsKey(key)
.clear()
操作符
Set
API
构造函数
方法
.size()
.isEmpty()
.add(value)
.remove(value)
.contains(value)
.clear()
.isSubsetof(set)
.first()
操作符
s1 + s2
:返回两集合并运算结果
s1 * s2
:交
s1 - s2
:差
s1 += s2
s1 -= s2
s1 *= s2