题目
编程实现利用队列将栈中元素逆置的算法。
逆置函数
void Inverse(Stack *S,Queue *Q){
ElemType x;
while(!IsEmpty(S)){ //函数重载
Top(S,&x);
EnQueue(Q,x);
Pop(S);
}
while(!IsEmpty(Q)){ //函数重载
Front(Q,&x);
Push(S,x);
DeQueue(Q);
}
}
完整程序
#include<stdio.h>
#include<stdlib.h>
#define TRUE 1
#define FALSE 0
#define N 100
typedef int BOOL;
typedef int ElemType;
typedef struct{
int top;
int maxSize;
ElemType *element;
}Stack;
/*
void Create1(Stack *S, int mSize);
BOOL IsEmpty1(Stack *S);
BOOL IsFULL1(Stack *S);
BOOL Top(Stack *S,ElemType *x);
BOOL Push(Stack *S,ElemType x);
BOOL Pop(Stack *S);
void Create2(Queue *Q,int mSize);
BOOL IsEmpty2(Queue *Q);
BOOL IsFULL2(Queue *Q);
BOOL Front2(Queue *Q,Ele