• 大小: 911B
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-02
  • 语言: 其他
  • 标签: 栈及队列  

资源简介

已知Q是一个非空队列,S是一个空栈。仅用队列和栈的ADT函数和少量工作变量,编写一个算法,将队列Q中的所有元素逆置

资源截图

代码片段和文件信息

#include
#include
#define OK 1
#define OVERFLOW -1
#define ERROR 0

typedef struct
{
int *base;
int *top;
int stacksize;
}SqStack;

typedef struct QNode
{
int data;
struct QNode *next;
}QNode*QueuePtr;
typedef struct
{
QueuePtr front;
QueuePtr rear;
}linkQueue;

int InitStack(SqStack &S)
{
S.base=(int*)malloc(100*sizeof(int));
if(!S.base)exit(OVERFLOW);
S.top=S.base;
S.stacksize=100;
return OK;
}

int Push(SqStack &Sint e)
{
if(S.top-S.base>=S.stacksize)
{
S.base=(int *)realloc(S.base(S.stacksize+100)*sizeof(int));
if(!S.base)exit(OVERFLOW);
S.top=S.base+S.stacksize;
S.stacksize+=100;
}
*S.top++=e;
return OK;
}

int Pop(SqStack &S)
{
int e;
if(S.top==S.base)
return ERROR;
e=*--S.top;
re

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2429  2010-05-26 22:04  queueandstack.cpp

----------- ---------  ---------- -----  ----

                 2429                    1


评论

共有 条评论

相关资源