数据结构
来源:互联网 发布:淘宝买一脚蹬哪家店好 编辑:程序博客网 时间:2024/06/03 22:49
栈-基本操作
//栈结构const int STACKINITSIZE = 100;const int STACKADDSIZE = 20;typedef struct{ int *base, *top; int StackSize;}Stack;bool StackInit(Stack &S);bool StackDestroy(Stack &S);bool StackClear(Stack &S);bool StackEmpty(Stack &S);int StackLength(Stack S);bool StackGetTop(Stack S,int &e);bool StackPush(Stack &S,int e);bool StackPop(Stack &S,int &e);void StackDisplay(Stack S);#include<iostream>using namespace std;bool StackInit(Stack &S){ S.base = (int*)malloc(STACKINITSIZE*sizeof(int)); if (!S.base) return 0; S.top = S.base; S.StackSize = STACKINITSIZE; return 1;}bool StackDestroy(Stack &S){ S.top = S.base; free(S.base); S.top = S.base = NULL; return 1;}bool StackClear(Stack &S){ S.top = S.base; return 1;}bool StackEmpty(Stack &S){ if (S.top == S.base) return 1; else return 0;}int StackLength(Stack S){ if (S.top == S.base) return 0; else return (S.top - S.base);}bool StackGetTop(Stack S,int &e){ if (S.top == S.base){ cout << "这是空栈!" << endl; return 0; } else{ e = *--S.top; return 1; }}bool StackPush(Stack &S,int e){ if ((S.top - S.base) == STACKINITSIZE){ int *temp; temp = (int*)realloc(S.base, (STACKADDSIZE + S.StackSize)); if (!temp) return 0; S.base = temp; S.top = S.base + STACKINITSIZE; S.StackSize = STACKADDSIZE + S.StackSize; } *S.top++ = e; return 1;}bool StackPop(Stack &S,int &e){ if (S.top == S.base){ cout << "栈已经为空!" << endl; return 0; } else{ S.top--; e = *S.top; return 1; }}void StackDisplay(Stack S){ if (StackEmpty(S)){ cout << "空栈!" << endl; } else{ while (S.top != S.base){ cout << *--S.top; } }}
0 0
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 使用ReactiveCocoa实现iOS平台响应式编程
- 通过js修改html的标签属性
- 花瓣网李忠:ReactiveCocoa是Cocoa的未来
- ReactiveCocoa 和 MVVM 入门
- js中获取时间new Date()详细介绍
- 数据结构
- Linux基础网络设置
- 初来报到!
- LeetCode 269. Alien Dictionary(外星人字典)
- Android触摸屏事件派发机制详解与源码分析二(ViewGroup篇)
- Android View 事件分发机制 源码解析 (上)
- http头中的host字段详解
- Android ViewGroup事件分发机制
- rabbitmq 爬虫