首页 > 代码库 > 链栈--(大话数据结构97页)
链栈--(大话数据结构97页)
//链栈的实现 --大话数据结构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= http://www.mamicode.com/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;}
链栈--(大话数据结构97页)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。