主题:[讨论]用经常用的几个函数----测测你的(发现问题)眼力
[size=4]有勇气的话,测一下自己(经验):看看你能从以下几个常用子函数中,用最短时间,发现问题?我的记录(第一次时):三分钟。呵呵。。可是第一次的时候啊,当你熟悉了,时间当然会短啦![/size]
void initstack(Stack &s)
{
s.base=(Pan *)malloc(STACKINITSIZE*sizeof(Pan));
if(!s.base)
cout<<"error!"<<endl;
s.top=s.base;
s.stacksize=STACKINITSIZE;
}
void push(Stack &s,pan x)
{
if(s.top-s.base>=s.stacksize-1)
{
s.base=(Pan *)realloc(s.base,(STACKINITSIZE+STACKINCREMENT)*sizeof(Pan));
s.top=s.base+s.stacksize;
s.stacksize+=STACKINCREMENT;
}
*(s.top++)=x;
}
Pan Gettop(Stack &s)
{
Pan serial;
while(s.top!=s.base)
serial=*(s.top-1);
return serial;
}
void pop(Stack &s)
{
if(!emptystack(s))
{ s.top=s.top-1;
return ;
}
}
bool emptystack(Stack &s)
{
if(s.top==s.base)
return 1;
else
return 0;
}[size=6]身经百战,使我磨练一双慧眼![/size]
void initstack(Stack &s)
{
s.base=(Pan *)malloc(STACKINITSIZE*sizeof(Pan));
if(!s.base)
cout<<"error!"<<endl;
s.top=s.base;
s.stacksize=STACKINITSIZE;
}
void push(Stack &s,pan x)
{
if(s.top-s.base>=s.stacksize-1)
{
s.base=(Pan *)realloc(s.base,(STACKINITSIZE+STACKINCREMENT)*sizeof(Pan));
s.top=s.base+s.stacksize;
s.stacksize+=STACKINCREMENT;
}
*(s.top++)=x;
}
Pan Gettop(Stack &s)
{
Pan serial;
while(s.top!=s.base)
serial=*(s.top-1);
return serial;
}
void pop(Stack &s)
{
if(!emptystack(s))
{ s.top=s.top-1;
return ;
}
}
bool emptystack(Stack &s)
{
if(s.top==s.base)
return 1;
else
return 0;
}[size=6]身经百战,使我磨练一双慧眼![/size]