关于数据结构中的栈的基本算法

来源:互联网 发布:java 搜索算法 编辑:程序博客网 时间:2024/06/05 05:39
#include "stdio.h"
#include "stdlib.h"
#define Maxsize 100
#define DataType int
typedef struct {
DataType data[Maxsize];
int top;
}SeqStack;
SeqStack *s;//定义一个指向顺序栈的指针变量
//站的初始化算法
SeqStack *Init_SeqStack(){
SeqStack *s;
s = new SeqStack;
if(!s){
return NULL;
}else{
return s;
}
}
//栈空判别算法
int Empty_SeqStack(SeqStack *s){
if(s->top==-1){
return 1;//站定指针指向占地,空战


}else{
return 0;
}


}
//入展算法
int Push_SeqStack(SeqStack *s,DataType x){
if(s->top==Maxsize-1){
return 0;//占满不能入展,返回错误代码0;
}else{
s->top++;
s->data[s->top]=x;
return 1;//入展成功,返回成功代码1;
}




}
//出站算法


int Pop_SeqStack(SeqStack *s,DataType *x){
if(Empty_SeqStack(s)){
return 0;
}else{
*x=s->data[s->top];//保存站定元素
s->top--;//站定指针乡下移动
return 1;
}
}
//去站定元素算法
DataType Top_SeqStack(SeqStack *s ){
if(Empty_SeqStack(s)){
return 0;//返回错误的代码0;
}else{
return s->data[s->top];//返回站定元素
}
}
1 0