栈的实现
来源:互联网 发布:大华端口号 编辑:程序博客网 时间:2024/05/16 11:00
1、栈的顺序存储结构及其实现
#include <iostream>using namespace std;typedef int SElemType;typedef int Status;#define OK 1#define ERROR 0#define MAXSIZE 100typedef struct SqStack{SElemType data[MAXSIZE];int top;} SqStack;Status Push ( SqStack *S , SElemType e){if ( S-> top == MAXSIZE -1){return ERROR;}S->top++;S->data [ S->top] =e;return OK;}Status Pop ( SqStack *S, SElemType *e){if (S->top == -1){return ERROR;}*e =S->data [S->top];S->top--;return OK;}void Init( SqStack *S){(S)->top=-1;}int main(){SqStack *s1=new SqStack;Init(s1);Push (s1 , 7);Push (s1 ,5);Push (s1 , 3);Push (s1 , 9);Push (s1 , 8);SElemType *temp=new SElemType;while( Pop(s1, temp)){cout<<*temp<<" ";}cout<<endl;delete s1;delete temp;}
2、栈的链式存储结构及其实现
#include <iostream>using namespace std;typedef int SElemType;typedef int Status;#define OK 1#define ERROR 0typedef struct StackNode {SElemType data;struct StackNode *next;} StackNode , *pStackNode;typedef struct LinkStack{pStackNode top;int count ;} LinkStack;Status Push ( LinkStack *s, SElemType e){pStackNode newNode=(pStackNode) malloc (sizeof (StackNode));newNode->data=e;newNode->next=s->top;s->top=newNode;s->count++;return OK;}bool StackEmpty (LinkStack *s){if ( s->top==NULL) return true;return false;}Status Pop ( LinkStack *s , SElemType& e){pStackNode p;if ( StackEmpty (s)){return ERROR;}e=s->top->data;p=s->top;s->top =s->top->next;free(p);s->count--;return OK;}void InitStack(LinkStack *s){s->top=NULL;s->count=0;}int main(){LinkStack* s1=new LinkStack;InitStack( s1);Push (s1 , 7);Push (s1 ,5);Push (s1 , 3);Push (s1 , 9);Push (s1 , 8);SElemType temp;while( Pop(s1, temp)){cout<<temp<<" ";}cout<<endl;delete s1;}
- 栈的顺序实现
- 栈的数组实现
- 栈的指针实现
- 栈的实现
- 栈的实现
- 顺序栈的实现
- 栈的实现
- 链栈的实现
- 栈的C++实现
- 栈的实现
- 栈的宏实现
- 栈的实现
- 顺序栈的实现
- 链栈的实现
- 栈的链式实现
- 链式栈的实现
- 用链表实现的栈
- 栈的简单实现
- macos10.8安装cplex
- 简单,细致的菜单程序讲解
- Mac os 截屏使用
- SQL 代码片段
- 输入表与HOOK
- 栈的实现
- IOS中Json解析的四种方法
- Linux中TCP连接过程状态简介
- 一张图让你记住uml的常用关系的简单图例
- Openssl的安装
- input失去焦点和获得焦点jquery焦点事件
- 在C++代码的陪伴下成长
- Struts2框架安全缺陷
- VK Cup 2012 Qualification Round B题