全文预览

栈的定义及基本操作

上传者:叶子黄了 |  格式:doc  |  页数:15 |  大小:0KB

文档介绍
分配失败РРРР9РР??s->top = s->base + s->stacksize;Р??s->stacksize += SIZE;Р?}Р?*(s->top)++ = e;Р?return OK;Р}/*** END 7.进栈***/РР/*** 8.出栈***/РStatus Pop(SqStack *s,ElemType *e){Р?//若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERRORР?if(s->base == s->top)Р??return ERROR;Р?*e = *--s->top;Р?return OK;Р}/*** END 8.出栈***/РР/*** 9.遍历 ***/РStatus StackTraverse(SqStack s){Р?while(s.top != s.base){Р??printf("%d\t",*--s.top);Р?}Р?return OK;РРРР10РР}/*** END 9.遍历***/РР/*** 10.数值转换 ***/РStatus Conversion(SqStack *s, ElemType N){Р?ElemType e;Р?while(N){Р??Push(s, N % 8);Р??N = N / 8;Р?}Р?while(s->top != s->base){Р??Pop(s, &e);Р??printf("%d", e);Р?}Р?return OK;Р}РРР/************************************Р*??顺序栈主函数 *Р************************************/Р#include "SqStack.h"Р#include "string.h"Рvoid main(){

收藏

分享

举报
下载此文档