[库]C实现的泛型栈[2]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 avalonbbs 的 blog

   if(0==s->size_of_stack)/*栈空*/
        return false;
    temp=s->top->prior;
    (s->size_of_stack)--;
    if( null != elem)/*如果参数为null,则直接弹出*/
        gettop(s,elem);
    freenode( &(s->top));
    s->top = temp;
    return true;
}
bool clearstack(stackhandle s)
{/*把s置为空栈*/   
    assert( null !=s);
    while(0!=s->size_of_stack){
       pop(s,null);
    }
    return true;
}
bool destroystack(stackhandle * s)
{/*销毁栈s*/
    assert(null !=s);
    assert(null != *s);
    if(0!=(*s)->size_of_stack)
        clearstack(*s);   
    free( *s);
    *s=null;
    return true;
}
bool stackempty(stackhandle s)
{/*栈空?*/
    assert( null !=s );   
    if(0==s->size_of_stack)return true;
    return false;
}
int stacklength(stackhandle s)
{/*栈长*/
    assert(null !=s);
    return s->size_of_stack;
}       

               
          
   
           

本文关键:[库]C实现的泛型栈
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top