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

该程序使用C语言通过顺序栈和循环队列,实现了一个功能:将一个栈中2n个元素按偶数在前、奇数在后的顺序重新排列。首先将栈中的元素依次出栈并入队,然后判断队列中的元素是否为偶数,偶数再入队,奇数则回栈。最后,将队列中的元素回栈,达到目标顺序。
摘要由CSDN通过智能技术生成

#include

#include

#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); //初始化循环队列</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值