1、C++中栈(stack)的使用
(1) 定义stack 对象的示例代码如下:
stack<int> s1;
stack<string> s2;
(2) stack 的基本操作有:
a) 入栈,如例:s.push();在栈顶增加元素
b) 出栈,如例:s.pop();注意,出栈操作只是删除栈顶元素,并不返回该元素。
c) 访问栈顶,如例:s.top()
d) 判断栈空,如例:s.empty(),当栈空时,返回true。
e) 访问栈中的元素个数,如例:s.size()
2、push与push_back
push与push_back是STL中常见的方法,都是向数据结构中添加元素。 push对应stack与queue,push_back对应vector。
(1)push 方法
stack::push();//在栈顶增加元素
(2)push_back 方法
vector::void push_back (const value_type& val);
vector::void push_back (value_type&& val);
该函数将一个新的元素加到vector的最后面,位置为当前最后一个元素的下一个元素,新的元素 的值是val的拷贝(或者是移动拷贝)
3、queue
(1)定义queue 对象的示例代码如下:
queue<int> q1;
queue<double> q2;
(2)queue 的基本操作有:
a) 入队,如例:q.push(x); 将x 接到队列的末端。
b) 出队,如例:q.pop(); 弹出队列的第一个元素,注意,并不会返回被弹出元素的值。
c) 访问队首元素,如例:q.front(),即最早被压入队列的元素。
d) 访问队尾元素,如例:q.back(),即最后被压入队列的元素。
e) 判断队列空,如例:q.empty(),当队列空时,返回true。
f) 访问队列中的元素个数,如例:q.size()