什么是数据结构:
栈 stack:
- 规则:last in first out 后入先出 LIFO
- 操作:stack<> name;
- push(x) :在栈顶添加元素x
- pop() :从栈顶弹出元素
- empty() :检查栈是否为空
- size() :返回大小
- top() :返回元素个数
队列 queue:
- 规则 :先入先出 FIFO
- 操作: queue<> name;
- back() :返回最后一个元素
- empty() :如果队列为空返回真
- front() :返回第一个元素
- pop() :删除队首元素
- push() :在末尾加入元素
- size() :返回元素个数
动态数组 vector:
- 操作 vector<> name;
- size() :返回向量元素数
- push_back(x) :在向量末尾添加元素x
- pop_back() :删除向量最后一个元素
- begin() :返回指向向量开头的迭代器
- end() :返回指向向量末尾(最后一个元素的下一个位置)的迭代器
- insert(p,x) :在向量p的位置插入x
- erase(p) :删除向量位置p的元素
- clear() :删除所有元素
- name[x] :访问x位置元素
vector<int>::iterator it;
for(it=vec.begin();it!=vec.end();it++)
双向列表 list:
- 操作: list<> name;
- size :返回表的元素数
- begin() :返回指向开头的迭代器
- end() :返回指向表末(最后一个元素下一个位置)的迭代器
- push_front(x) :在表的开头添加元素x
- push_back(x) :在表的末尾添加元素x
- pop_front() :删除位于表开头的元素
- pop_back() :删除位于表末尾的元素
- insert(p,x) :在位置p插入元素x
- erase(p) :删除位置p的元素
- clear() :删除所有元素
- name[x] :访问x位置元素
set
map