标题:数据结构栈的问题
只看楼主
赤男
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-8-16
结帖率:100%
已结贴  问题点数:1 回复次数:2 
数据结构栈的问题
#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);
}

这个程序那里有错误呢?
搜索更多相关主题的帖子: 数据结构 
2010-08-16 09:27
wwqiu
Rank: 2
等 级:论坛游民
帖 子:19
专家分:12
注 册:2010-7-28
得分:0 
我看了一下,你是要建立顺序栈还是链栈啊,感觉你代码把顺序栈和链栈都混在一起了。
2010-08-16 11:12
wwqiu
Rank: 2
等 级:论坛游民
帖 子:19
专家分:12
注 册:2010-7-28
得分:1 
如果是建立一个顺序栈就应该这样:
程序代码:
#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);
}

2010-08-16 11:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-315821-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.569640 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved