代码 c++实现动态栈
来源:互联网 发布:源码下载 编辑:程序博客网 时间:2024/05/16 07:55
//============================================================================// Name : 栈.cpp// Author : xingbo// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//============================================================================#include <iostream>#include <malloc.h>#include <stdlib.h>using namespace std;typedef struct Node{ int data; Node * pNext;}NODE,*PNODE;typedef struct Stack{ PNODE pTop; PNODE pBottom;}STACK,* PSTACK;//以上两个,分别是节点,栈的定义/* * pBottom永远指向最下面的一个ptop移动插入或者删除数据,判断栈为空,利用pbottom=ptop,判断是否满,不存在,满不满的问题 */void init(PSTACK p){//传一个地址,等价于stack * pPNODE tmp=(PNODE)malloc(sizeof(NODE));//需要给他制定一个top和bottom并且指向同一个地址if (tmp==NULL){ cout<<"错误"<<endl; exit(-1);}p->pBottom=tmp;p->pTop=tmp;p->pTop->pNext=NULL;//这一句很难想出来}bool push(PSTACK p,int data){/* * 1.创造新的节点 * 2.新的节点指向之前的top * 3.然后将ptop指向这个新的节点, * */ PNODE pnode = (PNODE)malloc(sizeof(NODE)); pnode->data=data; pnode->pNext=p->pTop; p->pTop=pnode; return true;}void traverse(PSTACK p){ PNODE t=p->pTop;while (t!=p->pBottom){cout<<t->data<<",";t=t->pNext;}return;}bool isempty(PSTACK p){ if(p->pTop==p->pBottom){ return true; }else return false;}int pop(PSTACK p){ PNODE tmp; int i; if (!isempty(p)){ tmp=p->pTop; i=tmp->data; p->pTop=p->pTop->pNext;// top下移一个 free(tmp); }else{ exit(-1); } return i;}int main() { STACK S;//生声明一个空间,有两个元素,但是并没有存放有效数据,但是含有:ptop pbottom init(&S); push(&S,1); push(&S,2); push(&S,3); push(&S,4); traverse(&S); cout<<pop(&S); cout<<pop(&S); cout<<"删除之后"<<endl; traverse(&S); return 0;}
0 0
- c语言实现动态心型代码
- 代码 c++实现动态栈
- C代码实现栈
- 动态栈的实现(C++)
- 用C/C++实现代码的动态修改(SMC)
- 用C/C++实现SMC动态代码加密技术
- 用C/C++实现SMC动态代码加密技术
- 用C/C++实现SMC动态代码加密技术
- 用C/C++实现SMC动态代码加密技术
- 用C/C++实现SMC动态代码加密技术
- 用C/C++实现SMC动态代码加密技术 .
- android通过C代码实现动态和静态链接
- 用C/C++实现代码的动态修改(SMC)
- 用C/C++实现代码的动态修改(SMC)
- 用C/C++实现代码的动态修改(SMC)
- C ++ 动态单链表 代码
- 栈的c代码实现
- 动态实现接口 代码
- XAMPP的MYSQL无法启动
- unity3d插入android有米广告
- 8天快速掌握android视频
- TC(Table Control)自定义F4
- Bigtable: A Distributed Storage Systemfor Structured Data
- 代码 c++实现动态栈
- swift学习记录01-常量与变量
- .NET Framework的个人理解
- Unity5.0.2正式版
- Quartz2D 画图工具的基本使用
- 《C++ primer》第五版 第九章 笔记
- Spring4新特性——泛型限定式依赖注入
- Centos如何挂载硬盘
- R语言读写中文编码方式