标题:顺序栈的基本操作,运行得不到想要的答案,大家帮忙改改
只看楼主
wshyj18
Rank: 1
等 级:新手上路
帖 子:124
专家分:0
注 册:2007-5-14
 问题点数:0 回复次数:2 
顺序栈的基本操作,运行得不到想要的答案,大家帮忙改改
#include<stdio.h>
#include<stdlib.h>
#define Maxsize 100
typedef struct /*一个栈的类型*/
{  
    int date[Maxsize];
    int top;
}stack;
void init(stack *p)
{
 p->date[Maxsize]=NULL;/*这句可不可以不要*/
 p->top=-1;
}
void push(stack *p,int a)
{
 if(p->top==Maxsize-1)
    printf("man le,bu yao");
 else
    {
     p->date[++(p->top)]=a;
    }
}
void pop(stack *p)
{
 if(p->top==-1)
    printf("ni de shi kong zhan");
 else
    {
     p->top--;
    
    }
}
void display(stack *p)
{
 int i;
 for(i=p->top;i>=0;i++)
   printf("%d",p->date[i]);
   printf("\n");
}
void main()
{
 stack *p;
p=(stack*)malloc(100*sizeof(stack));
 init(p);
 push(p,4);
 push(p,5);
 display(p);
 pop(p);
 display(p);
}

[[italic] 本帖最后由 wshyj18 于 2007-12-27 12:23 编辑 [/italic]]
搜索更多相关主题的帖子: stack 顺序 void int top 
2007-12-27 12:21
wshyj18
Rank: 1
等 级:新手上路
帖 子:124
专家分:0
注 册:2007-5-14
得分:0 
#include<stdio.h>
#include<stdlib.h>
#define Maxsize 100
typedef struct /*一个栈的类型*/
{  
    int date[Maxsize];
    int top;
}stack;
void init(stack *p)
{
 p->date[Maxsize]=NULL;
 p->top=-1;
}
void push(stack *p,int a)
{
 if(p->top==Maxsize-1)
    printf("man le,bu yao");
 else
    {
        s->top++;
     p->date[p->top]=a;
    }
}
void pop(stack *p)
{
 if(p->top==-1)
    printf("ni de shi kong zhan");
 else
    {
     p->top--;
    
    }
}
void display(stack *p)
{
 int i;
 for(i=p->top;i>=0;i++)
   printf("%d",p->date[i]);
   printf("\n");
}
void main()
{
 stack *p;
p=(stack*)malloc(100*sizeof(stack));
 init(p);
 push(p,4);
 push(p,5);
 display(p);
 pop(p);
 display(p);
}
上面的写错了,我改一下,可是还是不能显示正确的

2007-12-27 12:30
wshyj18
Rank: 1
等 级:新手上路
帖 子:124
专家分:0
注 册:2007-5-14
得分:0 
#include<stdio.h>
#include<stdlib.h>
#define Maxsize 100
typedef struct /*一个栈的类型*/
{  
    int date[Maxsize];
    int top;
}stack;
void init(stack *p)
{
p->date[Maxsize]=NULL;
p->top=-1;
}
void push(stack *p,int a)
{
if(p->top==Maxsize-1)
    printf("man le,bu yao");
else
    {
        s->top++;
     p->date[p->top]=a;
    }
}
void pop(stack *p)
{
if(p->top==-1)
    printf("ni de shi kong zhan");
else
    {
     p->top--;
   
    }
}
void display(stack *p)
{
int i;
for(i=p->top;i>=0;i--)
   printf("%d",p->date[i]);
   printf("\n");
}
void main()
{
stack *p;
p=(stack*)malloc(100*sizeof(stack));
init(p);
push(p,4);
push(p,5);
display(p);
pop(p);
display(p);
}
经过我的修改,终于完成了

2007-12-28 14:26



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




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

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