#include <iostream>
using namespace std;
class stack
{
private:
int* data;
int cur;
int capacity;
public:
stack(int cap = 100)
{
data = new int[cap];
cur = -1;
capacity = cap;
}
~stack()
{
delete[] data;
}
void push(int val)
{
data[++cur] = val;
}
void pop()
{
--cur;
}
int top()
{
return data[cur];
}
bool full()
{
return cur == capacity - 1;
}
bool empty()
{
return cur == -1;
}
};
class Myqueue
{
private:
stack a, b;
public:
Myqueue()
{
}
~Myqueue()
{
}
void push(int val)
{
while (!b.empty())
{
a.push(b.top());
b.pop();
}
if (!a.full())
{
a.push(val);
}
}
void pop()
{
while (!a.empty())
{
b.push(a.top());
a.pop();
}
if (!b.empty())
{
b.pop();
}
}
int top()
{
while (!a.empty())
{
b.push(a.top());
a.pop();
}
if (!b.empty())
{
return b.top();
}
}
};
int main(void)
{
Myqueue q;
q.push(1);
q.push(2);
q.push(3);
cout<<q.top()<<endl;
q.pop();
cout<<q.top()<<endl;
q.pop();
q.push(4);
cout<<q.top()<<endl;
q.pop();
return 0;
}
Q3.5
最新推荐文章于 2024-07-14 10:48:40 发布