先写头文件
#pragma once
#include "Stack.h"
//用两个栈模拟实现的队列的结构体
typedef struct Two_stack_queue
{
struct Stack s1;
struct Stack s2;
}Two_stack_queue,*PTwo_stack_queue;
//它需要实现的函数
//初始化
void my_Init_2stack_queue(struct Two_stack_queue* tsq);
//入队
bool my_Push(PTwo_stack_queue tsq, ELEM_TYPE val);
//出队(还需要一个输出参数,帮助我将出队的值带出来)
bool my_Pop(PTwo_stack_queue tsq, ELEM_TYPE* rtval);
//获取队头元素值(还需要一个输出参数,帮助我将出队的值带出来)
bool my_Top(PTwo_stack_queue tsq, ELEM_TYPE* rtval);
//判空
bool my_IsEmpty(PTwo_stack_queue tsq);
//有效元素个数
int my_Get_length(PTwo_stack_queue tsq);
//打印
void my_Show(PTwo_stack_queue tsq);
//清空
void my_Clear(PTwo_stack_queue tsq);
//销毁
void my_Destroy (PTwo_stack_queue tsq);
再写cpp文件
#include "two_stack_to_queue.h"
#include <stdio.h>
#i