数据结构
#include<iostream>
using namespace std;
int main()
Error_code copy_stack(Stack &dest,Stack &source);
{
Error_code detected=success;
Stack temp;
Stack_entry item;
while(detected==success&&!source.empty()){
detected=source.top(item);
detected=source.pop();
if(detevted==success)detected=temp.push(item);}
while(detected==success&&!temp.empty())
detected=temp.top(item);
detected=temp.pop();
if(detevted==success)detected=source.push(item);
if(detevted==success)detected=dest.push(item);
}
return detected;}
const int maxqueue=10;
class Queue{
public:
Queue();
bool empty()const;
Error_code serve();
Error_code append(const queue_entry &item);
Error_code retrieve(queue_entry &item)const;
protected:
int fornt,rear;
queue_entry entry[maxqueue];
bool is_empty;};
Queue::Queue()
{rear=-1;front=0;is_empty=true;}
bool Queue::empty()const;
{return is_empty;}
Error_code Queue::append(const queue_entry &item);
if(!empty()&&(rear+1)%maxqueue=front)return overflow;
is_empty=false;
rear=((rear+1)==maxqueue)?0:(rear+1);
entry[rear]=item;
return success;}
Error_code Queue:: serve(){
if(empty())return underflow;
if(rear==front)is_empty=true;
front=((front+1)==maxqueue)?0:(front+1);
return success;}
Error_code Queue::(queue_entry &item)const{
if(empty())return underflow;
item=entry[front];
return success;}

浙公网安备 33010602011771号