内行请进!:)

来源:百度知道 编辑:UC知道 时间:2024/05/22 01:57:45
以下只能用C++语言编写!(即要用”类”去写)
已知Q是一个非空队列,S是一个空栈.仅用栈和队列的ADT函数和一个成员变量X编写一个算法,使得Q中的元素倒置.并打印前后两次结果

运行结果:
something
gnihtemos

源码如下:
#include <queue>
#include <stack>
#include <iostream>
using namespace std;

typedef queue<char> queue_t;
typedef stack<char> stack_t;

class TReverseQueue
{
private:
char x;
public:
void reverse_queue(queue_t &q, stack_t &s)
{
while (!q.empty())
{
x = q.front();
q.pop();
s.push(x);
cout << x;
}
cout << endl;
while (!s.empty())
{
x = s.top();
s.pop();
q.push(x);
cout << x;
}
cout << endl;<