主题:停车场问题~
#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);
}
}
我们老师写的停车厂中的栈函数部分
很多地方看不懂
结构体和出栈,进栈 谁能给解释以下~~
void pop(seqstack *s,int *x,int *y)
typedef struct
{
int num[10];
int entertime[10];
int top;
}seqstack;
void push(seqstack *s,int x,int y)
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);
}
}
我们老师写的停车厂中的栈函数部分
很多地方看不懂
结构体和出栈,进栈 谁能给解释以下~~
void pop(seqstack *s,int *x,int *y)
typedef struct
{
int num[10];
int entertime[10];
int top;
}seqstack;
void push(seqstack *s,int x,int y)