数据结构与算法---栈
来源:互联网 发布:音频信号发生器软件 编辑:程序博客网 时间:2024/05/16 02:09
#include<stdio.h>
#include<stdlib.h>
enum boolean {FALSE,TRUE};
typedef enum boolean Bool;
typedef int ElementsType;
struct stack
{
int top;
ElementType *elements;
int MaxSize;
};
typedef struct stack Stack;
void InitStack(Stack *,int sz);
void FreeStack(Stack *);
int Push(Stack *,ElementType);
ElementType Pop(Stack *);
ElementType GetTop(Stack*);
void MakeEmpty(Stack *);
Bool IsEmpty(Stack *S);
Bool IsFull(Stack *S);
#include"stack.h"
void FreeStack(Stack *S)
{
free(S->elements);
}
void MakeEmpty(Stack *S)
{
S->top = -1;
}
Bool IsEmpty(Stack *S)
{
return (Bool)(S->top == -1);
}
Bool IsFull(Stack *S)
{
return (Bool)(S->top == S->MaxSize-1);
}
void InitStack(Stack *S,int sz)
{
S->MaxSize = sz;
S->elements = (ElementType *)malloc(sizeof(ElementType ) * S->MaxSize);
S->top = -1;
}
int Push(Stack *S,ElementType item)
{
if(!IsFull(S))
{
S->elements[++(S->top)] = item;
return 0;
}
else
return -1;
}
ElementType Pop(Stack *S)
{
if(!IsEmpty(S))
return S->elments[(S->top)--];
else
{
printf("stack is empty\n");
exit(1);
}
}
ElementType GetTop(Stack *S)
{
if(!IsEmpty(S))
return S->elements[S->top];
else
{
printf("stack is empty\n");
exit(1);
}
}
- 数据结构与算法《栈》
- 数据结构与算法---栈
- 数据结构与算法-栈
- 数据结构与算法系列---栈
- 数据结构与算法分析-栈
- 数据结构与算法JavaScript - 栈
- 数据结构与算法---栈(stack)
- [数据结构与算法] 4,栈
- Java数据结构与算法:栈
- javascript数据结构与算法--栈
- 数据结构与算法 -- 栈 ADT
- java数据结构与算法-栈
- 数据结构与算法之栈
- 回文--栈-《数据结构与算法》
- 数据结构与算法 -- 算法
- 数据结构与算法之----栈与队列
- 数据结构与算法分析:栈与队列
- 数据结构与算法分析:栈与队列
- TreeSet集合
- C++之虚析构函数
- ZOJ
- C++中bitset的使用
- cv::Mat 对像素进行操作取地址
- 数据结构与算法---栈
- css的6大布局方式
- 这个前端面试在搞事!
- object detection资料汇总
- leetcode551: Student Attendance Record I
- 欢迎使用CSDN-markdown编辑器
- Fiddler抓包工具的手机端的使用
- 机器学习面试问题汇总
- 将文件根据不同日期进行分类(文件归档)