码迷,mamicode.com
首页 > 编程语言 > 详细

C++学习之类的学习之栈的编写

时间:2015-04-19 17:53:44      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

  1 #include<iostream>
  2 #include<cstdlib>
  3 
  4 struct node
  5 {
  6 
  7     int data;
  8     node* next;
  9 
 10 };
 11 
 12 class Stack
 13 {
 14 
 15 public:
 16 
 17     node* head;
 18 
 19     Stack(void);
 20     ~Stack();
 21 
 22     void push(int x);
 23     void pop(void);
 24     
 25     int top(void);
 26     int empty(void);
 27 
 28 };
 29 
 30 Stack::~Stack()
 31 {
 32 
 33     head->next=NULL;
 34 
 35 }
 36 
 37 Stack::Stack(void)
 38 {
 39     
 40     Stack::head=(node*)malloc(sizeof(node));
 41 
 42     Stack::head->next=NULL;
 43 
 44 }
 45 
 46 void Stack::push(int x)
 47 {
 48 
 49     node* q=(node*)malloc(sizeof(node));
 50 
 51     q->data=x;
 52     q->next=Stack::head;
 53 
 54     Stack::head=q;
 55 
 56 }
 57 
 58 int Stack::empty(void)
 59 {
 60 
 61     if(Stack::head->next==NULL) return 1;
 62 
 63     return 0;
 64 
 65 }
 66 
 67 void Stack::pop(void)
 68 {
 69 
 70     Stack::head=Stack::head->next;
 71 
 72 }
 73 
 74 int Stack::top(void)
 75 {
 76 
 77     return Stack::head->data;
 78 
 79 }
 80 
 81 int main()
 82 {
 83 
 84     int x;
 85     Stack stk;
 86 
 87     while(x){
 88 
 89         std::cin>>x;
 90 
 91         stk.push(x);
 92 
 93     }
 94 
 95     while(!stk.empty())
 96     {
 97 
 98         std::cout<<stk.top()<<" ";
 99 
100         stk.pop();
101 
102     }
103 
104    105 
106     return 0;
107 }
108 
109     

运行结果:

 

技术分享

C++学习之类的学习之栈的编写

标签:

原文地址:http://www.cnblogs.com/yanglingwell/p/4439452.html

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