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

栈---链表实现

时间:2014-07-07 23:48:05      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   div   type   

栈:是一种后进先出(LIFO)的结构,对其插入删除只能在栈顶进行;

链表实现


  • 节点:
    #include<stdio.h>
    #include<stdlib.h>
    typedef struct Node *PtrToNode;
    typedef PtrToNode Stack;
    
    struct Node{
       int Element;
       struct Node *Next;
    }

     

  • 进栈(push):
    void Push(int x,Stack s)
    {
       PtrToNode p;
       p = (PtrToNode)malloc(sizeof(struct Node));
       if(p==NULL)
         printf("out of space!\n");
       else
          {
              p->Element = x;
              p->Next = s->Next;
              s->Next = p;
           
          }
    }
  • 返回栈顶元素(TOP):
    int Top(Stack s)
    {
        if(s->Next!=NULL)
            return s->Next->Element;
    }
  • 出栈(POP):
    void Pop(stack s)
    {
       PtrToNode tmp;
       if(s->Next!=NULL)
        {
             tmp = s->Next;
             s->Next = tmp->Next;
             free(tmp);
    
        }
      else
        printf("The stack is empty!\n");
    }

     

栈---链表实现,布布扣,bubuko.com

栈---链表实现

标签:style   blog   color   io   div   type   

原文地址:http://www.cnblogs.com/avengervirus/p/3812716.html

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