实验4:栈和队列的基本操作实现及其应用之《进制转换》
一、实验目的
1、 熟练掌栈和队列的结构特点,掌握栈和队列的顺序存储和链式存储结构和实现。
2、 学会使用栈和队列解决实际问题。
二、实验内容
设计算法并写出代码,实现一个十将二进制转换成2进制数
#ifndef SeqStack_h
#define SeqStack_h
const int StackSize = 100;
template
class SeqStack
{
public:
SeqStack() { top = -1; }
~SeqStack() {}
void Push(D x,D y);
D Pop();
int GetTop();
int Empty()
{
if (top == -1)return 1;
else return 0;
}
private:
D data[StackSize];
int top;
};
#endif
#include "SeqStack.h"
template
SeqStack
::SeqStack()
{
top = -1;
}
template
void SeqStack
::Push(DataType x)
{
if (top == StackSize - 1)throw"上溢";
top++;
data[top] = x;
}
template
DataType SeqStack
::Pop() { DataType x; if (top == -1)throw"下溢"; x = data[top--]; return x; } template
DataType SeqStack
::GetTop() { if (top != -1) return data[top]; } template
int SeqStack
::Empty() { if (top == -1) return 1; else return 0; }