c++中stl:vector和stack

1、vector

遍历数组!

方法1:

方法2:用迭代器遍历

 

2、stack

 

empty() 堆栈为空则返回真 

pop() 移除栈顶元素 

push() 在栈顶添加元素

size() 返回栈中元素数目 

top() 返回栈顶元素

 

 1  
 2 template class Stack { 
 3      private: 
 4          std::vector elems; // 存储元素的容器 
 5      public: 
 6          void push(T const&); // 压入元素 
 7      void pop(); // 弹出元素 
 8     T top() const; // 返回栈顶元素 
 9     bool empty() const { // 返回栈是否为空 
10     return elems.empty(); 
11     } 
12 }; 
13 
14 template void Stack::push (T const& elem) { 
15      elems.push_back(elem); // 把elem的拷贝附加到末尾 
16     } 
17 
18 template void Stack::pop () { 
19     if (elems.empty()) { 
20         throw std::out_of_range("Stack<>::pop(): empty stack"); 
21     }
22     elems.pop_back(); //删除最后一个元素 
23 } 
24 
25 template T Stack::top () const { 
26     if (elems.empty()) { 
27         throw std::out_of_range("Stack<>::top(): empty stack"); 
28     } return elems.back(); // 返回最后一个元素的拷贝 
29 } 

 

posted on 2017-06-13 16:13  olive_gyr  阅读(451)  评论(0编辑  收藏  举报