数据结构(C语言) 实验二 栈与队列操作

该实验旨在理解栈和队列的特性和操作,通过递归算法设计解决实际问题。实验内容包括利用辅助队列实现栈的逆置以及借助辅助栈完成队列的逆置。要求在主函数中实现相应的菜单驱动程序,进行入栈、出栈、逆置等操作的交互式调试。
摘要由CSDN通过智能技术生成

实验二 栈与队列
实验目的:
(1)理解栈与队列的结构特征和运算特征,以便在实际问题背景下灵活运用。
(2)了解复杂问题的递归算法设计。
下列内容任选其一
实验内容:
1)利用辅助队列进行栈的逆置
[问题描述]
利用辅助队列将栈中的元素逆置。

[基本要求及提示]
(1)在主函数中编写菜单(基本的1.入栈;2.出栈;3.逆置;4.退出)调试运行程序。
2)利用辅助栈进行队列的逆置
[问题描述]
利用辅助栈进行队列元素逆置。

[基本要求及提示]
(1)在主函数中编写菜单(如基本的1.入队;2.出队;3.逆置;4.退出)调试运行程序。

#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
#define maxqsize 100
typedef struct
{
   
  int *base;
  int *top;
  int stacksize;
}SqStack;

typedef struct//队列的顺序存储结构
{
   
    int *base;//存储空间的基地址
    int  front;//头指针
    int  rear;//尾指针
}Sqqueue;
int InitQueue(Sqqueue *Q)//初始化队列
{
   

    Q->base=malloc(sizeof(int)*maxqsize);//申请空间
    if(!Q->base)printf("error");//判断是否分配失败
    Q->front=Q->rear=0;//头尾指针置为0,队列为空
}

int creatlist(SqStack *S)//初始化栈
{
   
    S->base=(int*)malloc(MAXSIZE*sizeof(int));
  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值