注册 登录
编程论坛 C++教室

栈和队列程序

诶诶 发布于 2014-03-27 20:01, 354 次点击
#include<stdio.h>
#include<stdlib.h>
#define STACK_INIT_SIZE 100
#define STAACKINCREMENT
#define OK 1
#define OVERFLOW -1
#define ERROR 0
typedef struct
{
    int *base;
    int *top
    int stacksize;
}sqstack;
int Initstack(sqstack &S)
{
    S.base=(SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType));
    if(!S.base)exit(OVERFLOW);
    S.top=S.base;
    S.stacksize=STACK_INIT_SIZE;
    return OK;
}
int GetTop(sqStack S,SElemType &e)
{
    if(S.top==S.base) return ERROR;
        e=*(S.top-1);
        return OK;
}
int Push(SqStack &S,SElemtype e)
{
    if(S.top-S.base>=S.stacksize)
    {
        S.base=(SEletype *)realloc(S.base,(S.stacksize+STACKINCREMENT));
        if(!S.base)exit(OVERFLOW);
        S.top=S.base+S.stacksize;
        S.stacksize+=STACKINCREMENT;
    }
    *S.top++=e;
    return OK;
}
int Pop(SqStack &S,SElemType &e)
{
    if(S.top==S.base)return ERROR;
    e=*--S.top;
    return OK;
}
main()




帮忙补全程序实现初始化栈 取栈顶元素 插入元素 删除元素   以前C语言没好好学  现在学数据结构不会写主程序= =
1 回复
#2
天使梦魔2014-03-28 14:44
SElemtype是什么结构?
1