栈,队列,优先队列
[博客转自] http://www.cnblogs.com/yushuo1990/p/5995051.html 再次面对像栈和队列这样的相当基础的数据结构的学习,应该从多个方面,多维度去学习。 首先,这两个数据结构都是比较常用的,在标准库中都有对应的结构能够直接使用,所以第一个阶段应该是先学习直接来使用,下一个阶段再去探究具体的实现,以及对基本结构的改造! C++标准库中的基本使用方法: 栈: #include<stack> 定义栈,以如下形式实现: stack s; 其中Type为数据类型(如 int,float,char等) 常用操作有: s.push(item); //将item压入栈顶 s.pop(); //删除栈顶的元素,但不会返回 s.top(); //返回栈顶的元素,但不会删除,,,,,,,,,在出栈时需要进行两步,即先top()获得栈顶元素,再pop()删除栈顶元素 s.size(); //返回栈中元素的个数 s.empty(); //检查栈是否为空,如果为空返回true,否则返回false 最基本的用法就是: stack<int> st;---------------------------------->栈 int first=1; st.push(first);//入栈1 int second=2; st