首页 > 编程语言 > 详细

数据结构与算法2-4 堆栈链式存储

时间:2017-07-11 12:45:50      阅读:305      评论:0      收藏:0      [点我收藏+]

链表中,只有一端进行插入与删除

在表头的位置,以避免需要知道实际数据长度

 

结构:

typedef struct Node()
{
    ElementType data;
    struct node *Next;
}List;
List *Ptrl;

 

构造:

List *empty()
{
    List *Ptrl;
    Ptrl=(List *)malloc(sizeof(List));
    Ptrl->Next=NULL;
    return Ptrl;
}

 

判断是否是空表

int isEmpty(List *Ptrl)
{
    return (Ptrl->Next==NULL);

}

 

插入:

 void Push(ElementType x,List *Ptrl)
 {
   List *temp;
   temp=(List *)malloc(sizeof(List));
   temp->data=x;
   temp->Next=Ptrl->next;
   Ptrl->Next=temp;
 }

 

删除:

 ElementType Pop(List *Ptrl)
 {   
     List *temp;
     ElementType returndata;
     if(isEmpty(Ptrl)) (printf("error");return NULL;)
     else {

         Ptrl->Next=temp;
         returndata=temp->data;
         Ptrl->Next=temp->next;
         free(temp);
         return returndata;
     }

 }

 

数据结构与算法2-4 堆栈链式存储

原文:http://www.cnblogs.com/guoshiyv/p/7149912.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!