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

链栈--(大话数据结构97页)

时间:2014-09-02 17:14:35      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   os   io   数据   2014   

//链栈的实现  --大话数据结构99页

#include <iostream>
using namespace std;

//链节点定义
typedef struct stacknode
{
    int data;
    struct stacknode * next;
}StackNode, *LinkStackptr;

//定义链栈,头指针 和 长度
struct LinkStack{
    LinkStackptr  top;
    int count;
};

//初始化
void InitStack(LinkStack *L){
L->top=NULL;
L->count=0;
}

//入栈
int Push(LinkStack *L,int e){
    LinkStackptr s=new StackNode;//新元素申请内存
    s->data= e;          //将待插入的数据放入 申请的节点的data
    s->next=L->top;  //top 中的数据放进新节点的next
    L->top=s;            //将s 的赋给top
    L->count++;        //数据个数加一
    return 0;              //正常终止
}

int Pop(LinkStack  *L)
{
    LinkStackptr p;
    if(L->top==NULL )  //判断是否为空,为空说明为空栈
        return -1;
    int e;
       e=L->top->data;   //top 指的栈顶的 数据
       p=L->top;            //top赋给p
       L->top=L->top->next;   //  大话数据结构99页
       free(p);                //释放P
       L->count--;         //数据减一
       return e;             //返回出栈数据
}
// 销毁栈
void
DestroyStack(LinkStack *L) { LinkStackptr q; while(L->count) { q=L->top->next; delete L->top; L->top=q; L->count--; } cout<<"销毁成功"<<endl; }

 

void main(){
    LinkStack a;
InitStack(&a); Push(
&a,3); Push(&a,4); Push(&a,5); cout<<Pop(&a)<<endl; cout<<Pop(&a)<<endl; cout<<Pop(&a)<<endl; }

bubuko.com,布布扣

链栈--(大话数据结构97页)

标签:des   style   blog   http   color   os   io   数据   2014   

原文地址:http://www.cnblogs.com/Flyzhcong/p/3951593.html

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