| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2108 人关注过本帖
标题:数据结构的停车场问题
只看楼主 加入收藏
overwhelming
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2008-3-15
收藏
 问题点数:0 回复次数:4 
数据结构的停车场问题
#include<stdio.h>
typedef struct
{
   int num[10];
   int entertime[10];
   int top;
}seqstack;
void initstack(seqstack *s)
{
    s->top=0;
}
void push(seqstack *s,int x,int y)
{
   s->num [s->top ]=x;
   s->entertime[s->top ]=y;
   s->top++;
}
void pop(seqstack *s,int *x,int *y)
{
  s->top--;
  *x=s->num[s->top];
  *y=s->entertime[s->top];
}
int stackempty(seqstack s)
{
  if(s.top==0) return 1;
  else return 0;
}
main()
{
 seqstack *s1,*s2;
 int num,time;
 initstack(s1);
 initstack(s2);
 push(s1,1,0);
 push(s1,2,3);
 push(s1,3,6);
 push(s1,4,9);
 push(s1,5,12);
 while(!stackempty (*s1))
 {
   pop(s1,&num,&time);
   push(s2,num,time);
   printf("number=%d,time=%d:\n",num,time);
 }

 
}


谁能帮忙解释一下结构体部分的意思~
typedef struct
{
   int num[10];
   int entertime[10];
   int top;
}seqstack;

还有几个函数
void push(seqstack *s,int x,int y)和void pop(seqstack *s,int *x,int *y)的区别~
尤其是int x,int y和int *x,int *y的区别~
搜索更多相关主题的帖子: 数据结构 停车场 
2008-05-02 16:41
overwhelming
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2008-3-15
收藏
得分:0 
没人帮忙?
2008-05-05 08:30
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
#include<stdio.h>
#include<malloc.h>
typedef struct
{
   int num[10];
   int entertime[10];
   int top;
}seqstack;
void initstack(seqstack *s)
{
    s->top=0;
}
void push(seqstack *s,int x,int y)
{
   s->num [s->top ]=x;
   s->entertime[s->top ]=y;
   s->top++;
}
void pop(seqstack *s,int *x,int *y)
{
  s->top--;
  *x=s->num[s->top];
  *y=s->entertime[s->top];
}
int stackempty(seqstack s)
{
  if(s.top==0) return 1;
  else return 0;
}
int main()
{
    seqstack *s1,*s2;
    s1=(seqstack*)malloc(sizeof(seqstack));
    s2=(seqstack*)malloc(sizeof(seqstack));
    int num,time;
    initstack(s1);
    initstack(s2);
    push(s1,1,0);
    push(s1,2,3);
    push(s1,3,6);
    push(s1,4,9);
    push(s1,5,12);
    while(!stackempty (*s1))
    {
      pop(s1,&num,&time);
      push(s2,num,time);
      printf("number=%d,time=%d:\n",num,time);
    }

    return 0;
}
这样才是对的..而且第二个栈没必要...只要记住FIFO就好了

学习需要安静。。海盗要重新来过。。
2008-05-05 09:57
overwhelming
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2008-3-15
收藏
得分:0 
g:\et\c\stack\stack.c(35) : error C2143: syntax error : missing ';' before 'type'
g:\et\c\stack\stack.c(45) : error C2065: 'num' : undeclared identifier
g:\et\c\stack\stack.c(45) : error C2065: 'time' : undeclared identifier

有这三个错误
不知道怎么调试正确~
望LS的大哥再帮一下忙
2008-05-07 19:50
david520
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-01 12:46
快速回复:数据结构的停车场问题
数据加载中...
 
   



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

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