备考期间写的栈类数据结构相关基本算法的C语言实现,为以后使用方便,现记录如下:
全局定义和依赖:
#include <stdio.h>
#include <stdlib.h>
#define elemType int
#define ERROR 0
#define OK 1
#define END NULL
栈结点:
typedef struct stack
{
elemType data;
struct stack *next;
} stack,*STACK;
初始化栈(无头结点):
void initStack(STACK s)
{
s = NULL;
}
栈判空:
//判栈空
int stackIsEmpty(STACK s)
{
if(s==NULL){return OK;}
else{return ERROR;}
}
入栈操作:
//入栈 此函数参数应当写成STACK &s型,否则会出现错误
int pushStack(STACK &s,elemType e)
{
stack *p = (stack *)malloc(sizeof(stack));
if(p==