码迷,mamicode.com
首页 > 其他好文 > 详细

IT公司100题-2

时间:2014-07-27 22:49:49      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   数据   io   div   时间   

 1 // 定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。
 2 // 要求函数min、push 以及pop 的时间复杂度都是O(1)。
 3 #include <iostream>
 4 #include "../data/own/c2_list.h"
 5 using namespace std;
 6 
 7 template <typename object>
 8 class miniStack{
 9 public:
10     bool isEmpty() const
11     {return _list.empty();}
12 
13     const object& top() const
14     {_list.front();}
15 
16     void push(const object& x)
17     {
18         _list.push_front(x);
19         if(x < _min)
20             _min = x;
21     }
22 
23     void min(){cout << _min << endl;}
24 
25     object pop()
26     {object x = _list.front(); _list.pop_front(); return x;}
27 
28 private:
29     List<object> _list;
30     object _min;
31 };
32 
33 int main()
34 {
35     miniStack<int> mstack;
36     mstack.push(10);
37     mstack.push(28);
38     mstack.push(7);
39     mstack.push(12);
40     mstack.push(23);
41     mstack.push(32);
42     mstack.push(11);
43     mstack.push(9);
44     mstack.min();
45 
46 }

 

IT公司100题-2,布布扣,bubuko.com

IT公司100题-2

标签:style   blog   color   os   数据   io   div   时间   

原文地址:http://www.cnblogs.com/dracohan/p/3871612.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!