码迷,mamicode.com
首页 > 其他好文 > 详细

栈的基本操作( too simple)

时间:2014-11-11 16:39:27      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   sp   on   2014   log   bs   

栈的基本操作:

     1,存储结构:

      2,创建空战:

      3,获取栈顶元素:(判空)

      4,插入和删除:

      5,销毁栈:

# define stack_init_size 100
# define  stackincrement 10
 typedef int SElemType;

 typedef struct
 {
     SElemType  *base;
     SElemType  *top;
     int stacksize;
 }SqStack;


 void DestoryStack(SqStack &S)
 {
     S.top=S.base;
     free(S.base);
 }

 void TraverseStack(SqStack S)
 {
     while(S.top!=S.base)
     {
         printf("%d ",*--S.top);
     }
 }

 int CreatStack(SqStack &S)
 {
     S.base=(SElemType *)malloc(stack_init_size*sizeof( SElemType ) );
     if(!S.base)   exit(-2) ;
     S.top=S.base;
     S.stacksize=stack_init_size;
 }

 void  GetTop(SqStack &S,int &e)
 {
     if(S.base==S.top)  return ;
      e=*(S.top-1);
 }

 void  Pop(SqStack &S,int &e)
 {
     if(S.top==S.base)  return ;
     e=*--S.top;
 }

 void InsertStack(SqStack &S,int &e)
 {
     if(S.top-S.base>S.stacksize)
     {
         S.base=(SElemType *)realloc(S.base,(S.stacksize+stackincrement)*sizeof(SElemType));
         if(!S.base) exit(-2);
         S.top=S.base+S.stacksize;
         S.stacksize+=stackincrement;
     }
     *S.top++=e;
 }


栈的基本操作( too simple)

标签:des   style   blog   color   sp   on   2014   log   bs   

原文地址:http://blog.csdn.net/u013514722/article/details/41012307

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!