c/c++ 面试题

发布网友 发布时间: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;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com