发布网友 发布时间:2022-04-21 22:36
共2个回答
热心网友 时间:2022-07-14 00:22
这是基本的将整型数组中数据进行入栈、出栈、入队和出队的问题,可以用顺序栈和循环队列实现。因为只要求写出部分函数,所以下面给出C++的顺序栈入栈和出栈算法。(循环队列的入队和出队算法,在《数据结构》的教材中都有答案)
const int StackSize=100;
template<class DataType>
class SeqStack
{
public:
SeqStack(){top=-1;}
~SeqStack(){}
void Push(int x);
int Pop();
private:
int data[100];
int top;
};
template<class DataType>
void SeqStack<DataType>::Push(int x)
{if(top==99) throw"上溢";
data[++top]=x;
}
template<class DataType>
int SeqStack<DataType>::Pop()
{
if(top==-1) throw"下溢";
x=data[top--];
return x;
}
热心网友 时间:2022-07-14 00:23
const int StackSize=100;
template<class DataType>
class SeqStack
{
public:
SeqStack(){top=-1;}
~SeqStack(){}
void Push(int x);
int Pop();
private:
int data[100];
int top;
};
template<class DataType>
void SeqStack<DataType>::Push(int x)
{if(top==99) throw"上溢";
data[++top]=x;
}
template<class DataType>
int SeqStack<DataType>::Pop()
{
if(top==-1) throw"下溢";
x=data[top--];
return x;
}