实验2:栈和队列的基本操作实现及其应用

一、实验目的1、   熟练掌栈和队列的结构特点,掌握栈和队列的顺序存储和链式存储结构和实现。2、      学会使用栈和队列解决实际问题。二、实验内容1、自己确定结点的具体数据类型和问题规模:分别建立一个顺序栈和链栈,实现栈的压栈和出栈操作。分别建立一个顺序队列和链队列,实现队列的入队和出队操作。2、设计算法并写出代码,实现一个将一个十进制转换成二进制数。一.顺序栈#include<iost...
摘要由CSDN通过智能技术生成

一、实验目的

1、   熟练掌栈和队列的结构特点,掌握栈和队列的顺序存储和链式存储结构和实现。

2、      学会使用栈和队列解决实际问题。

二、实验内容

1、自己确定结点的具体数据类型和问题规模:

分别建立一个顺序栈和链栈,实现栈的压栈和出栈操作。

分别建立一个顺序队列和链队列,实现队列的入队和出队操作。

2、设计算法并写出代码,实现一个将一个十进制转换成二进制数。



一.顺序栈

#include<iostream.h>
const int SeqList=10;
class SeqStack
{
public:
SeqStack();//构造
~SeqStack();
void Push(int x);//入
int Pop();//弹
int Get();//取
private:
int data[SeqList];
int top;
};


SeqStack::SeqStack()
{top=-1;}


SeqStack::~SeqStack(){}


void SeqStack::Push(int x)
{
if(top==SeqList-1)throw "上溢";
top++;
data[top]=x;
}


int SeqStack::Pop()
{
int x;
if(top==-1)throw "下溢";
x=data[top];
top--;
return x;
}


int SeqStack::Get()
{if(top!=-1)return data[top];}


int main()
{
SeqStack S;
cout<<"请对15、18、9进行入栈操作:"<<endl;
S.Push(15);
S.Push(18);
S.Push(9);
cout<<"执行一次出栈操作"<<endl;
S.Pop();
cout<<"栈顶元素"<<S.Get()<<endl;
return 0;

}


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值