加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

用面向对象的程序设计方法实现堆栈的操作。(栈的大小为5)

(2012-06-30 21:16:36)
标签:

出栈

进栈

程序设计方法

元素

定义

it

提示:程序包括:

栈的大小定义为5;栈定义为一个类stack;

栈的创建、进栈和出栈、栈的消亡;栈的使用

进栈:void push(int n);出栈:int pop(void);

#include <iostream>
using namespace  std;

const int maxsize=5;
class stack{
public:
  void init() {top=-1;}
  void push(int n);
  int  pop();
  void dead();
private:
  int top;
  int data[maxsize];
};

 


void stack::push(int n)
{
  if(top==maxsize)
  {
     cout<<"栈已满!"<<endl;
  }
  else
  {
 top++;
    data[top]=n;
  }
}


int stack::pop()
{
 if(top<0)
 {
   cout<<"栈下溢!"<<endl;
   return 0;
 }
    else
 {
 top--;
 return  data[top+1];
 }
}


void stack::dead()
{
  if(top<0)
  {
    cout<<"栈下溢"<<endl;
  }
  else
  {
   top--;
   cout<<"栈中还剩"<<(top+1)<<"个元素"<<endl;
  }

}


int main()
{
  stack seqstack;
  int i,x,m;
  //栈的初始化
  seqstack.init();
  cout<<"请输入5个数字:";
  for(i=0;i<maxsize;i++)
  {
 cin>>x;
 seqstack.push(x);
  }
  cout<<"请你输入你所需要的操作:"<<endl;
  cout<<1<<" "<<"元素出栈!"<<endl;
  cout<<2<<" "<<"栈的消亡!"<<endl;
  cin>>m;
  switch(m)
  {case 1:  {
           for(i=0;i<maxsize;i++)
     cout<<" "<<seqstack.pop();
     break;
   }
 
   case 2:  {
           for(i=0;i<maxsize;i++)
            seqstack.dead();
     break;
   }
  return 0;
  }
}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有