C语言 栈的使用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言栈的使用
#include<iostream.h>
#include<malloc.h>
#define TRUE 1
#define FALSE 0
#define MAXSIZE 100
#define ERROR 0
typedef int Elemtype;
typedef struct
{
Elemtype data[MAXSIZE];
int Push(SqStack *s,Elemtype e)
{
if (StackFull(s))
return ERROR;
s->top++;
s->data[s->top]=e;
}
int Pop(SqStack *s,Elemtype &e)
{
if (StackEmpty (s))
return ERROR;
e=s->data[s->top];
s->top--;
}
void Conversion(int N,int r)
{
SqStack s;
int e;
InitStack(&s);
while(N!=0)
{Push (&s,N%r);
N=N/r;
}
while(!StackEmpty(&s))
{来自百度文库
Pop(&s,e);
int top;
}SqStack;
void InitStack(SqStack *s)
{s->top=-1;
}
int StackEmpty(SqStack *s)
{
return(s->top==-1?TRUE:FALSE);
}
int StackFull(SqStack *s)
{ return(s->top==MAXSIZE-1?TRUE:FALSE);}
cout<<e;
}
cout<<endl;
}
void main()
{
int N;
int r;
cout<<"请输入N和r的值:"<<endl;
cin>>N;
cin>>r;
Conversion(N,r);
}
相关文档
最新文档