注册 登录
编程论坛 数据结构与算法

数据结构栈的问题

赤男 发布于 2010-08-16 09:27, 528 次点击
#include<stdio.h>
#define MAXSIZE 50
 //定义一个顺序栈
typedef struct
{
    int data[MAXSIZE];
    int top;
}SeqStack,*PSeqStack;

//初始化栈
PSeqStack Init_Seqstack()
{    // 定义一个指向顺序栈的指针
    PSeqStack S;
    S=(PSeqStack)malloc(sizeof(SeqStack));
    if(S)
        S->top=-1;
    printf("初始化成功\n");
    return S;
}

//销毁栈
void Destory_SeqStack(PSeqStack *SeqStackPoint)
{
    if(*SeqStackPoint)
        free(*SeqStackPoint);
    *SeqStackPoint=NULL;
    printf("销毁成功\n");
}

main()
{
    PSeqStack S;
    S=Init_SeqStack();
    Destory_SeqStack(&S);
}

这个程序那里有错误呢?
2 回复
#2
wwqiu2010-08-16 11:12
我看了一下,你是要建立顺序栈还是链栈啊,感觉你代码把顺序栈和链栈都混在一起了。
#3
wwqiu2010-08-16 11:16
如果是建立一个顺序栈就应该这样:
程序代码:
#include<stdio.h>

#define MAXSIZE 50
//定义一个顺序栈
typedef struct
{
    int data[MAXSIZE];
    int top;
}SeqStack;

//初始化栈
void Init_Seqstack(SeqStack *S)
{    // 定义一个指向顺序栈的指针
    S->top=0;
    printf("初始化成功\n");
   
}

//销毁栈
void Destory_SeqStack(SeqStack *S)
{
    S->top=0;
    printf("销毁成功\n");
}

void main()
{
    SeqStack S;
    Init_Seqstack(&S);
    Destory_SeqStack(&S);
}

1