顺序栈S中有2n个元素,从栈顶到栈底的元素依次为a2n、a2n-1、…、a1。试设计一个算法:通过一个循环队列重新排列该栈中的元素,使得从栈顶到栈底的元素先偶数,后奇数

#include<stdio.h>
#include<math.h>
#define STACK_INIT_SIZE 100
#define QUEUE_MAX_SIZE  100
#define STACK_INCREMENT 10
using namespace std;
typedef struct Stack  //结构体定义
{
	int *elem;          //数据域
	int top;    //顺序栈栈顶
	int stacksize;     //顺序栈当前长度
}Stack;
typedef struct Sqqueue   //循环队列结构体定义
{
	int  *data;
	int front;
	int rear;
}Sqqueue;
//公共函数声明
void Error(char *s);        //错误处理函数
void Reset();               //重置函数
//顺序栈函数声明
Stack Creat_Stack();        //若干个元素的顺序栈
void Destroy_Stack(Stack & l); //销毁顺序栈	
void Push_Stack(Stack &L, int e);  //压栈操作函数
int  Pop_Stack(Stack &L, int e);   //出栈操作函数
void Increment_Stack(Stack & l);   //增加顺序栈空间函数
void Print_Stack(Stack & l);       //输出顺序栈元素函数、
//循环队列函数声明                
void Init_Sqqueue(Sqqueue &q);                  //初始化循环队列
void Destroy_Sqqueue(Sqqueue &q);				//销毁循环队列函数		
void En_Sqqueue(Sqqueue &q, int e);				//入队操作
int De_Sqqueue(Sqqueue &q, int e);				//出队操
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值