stack.h

来自「经典迷宫问题求解」· C头文件 代码 · 共 66 行

H
66
字号



typedef int directiveType;
typedef int Status; 
typedef struct
{int r,c;
}PosType;


typedef struct
{int step;
 PosType seat;
 directiveType di;
}ElemType;

typedef struct NodeType
{ElemType data;
 NodeType *next;
}NodeType,*LinkType;

typedef struct
{LinkType top;
 int size;
}Stack;


void InitStack(Stack &s)
{s.top=NULL;
 s.size=0;
 }

//void DestoryStack(Stack &s)
Status Push(Stack &s,ElemType e)
{LinkType p;
 p=(NodeType *)malloc(sizeof(NodeType));
 if(!p) return FALSE;
 p->data=e;
 p->next=s.top;s.top=p;
 s.size++;
 return TRUE;
}


Status StackEmpty(Stack s)
{if(s.top==NULL) return TRUE;
 else return FALSE;
}

Status Pop(Stack &s,ElemType &e)
{LinkType p;
  if(StackEmpty(s)) return FALSE;
  else
  {p=s.top;s.top=s.top->next;
   e=p->data;s.size--;return TRUE;
  }
}

Status StackLength(Stack s)
{return s.size;}





⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?