⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stack.h

📁 数据结构课程设计报告及代码 C语言环境 迷宫问题的设计
💻 H
字号:
#include <stdio.h>
#include <stdlib.h>
//定义坐标位置类型
typedef struct PositionType{
	int row;
	int col;
	int nextDirection;
	//0表示障碍,1表示通路,2表示开始点,3表示结束点,*表示走过的路径,@表示死路,#表示碰到的障碍
	char sign;   
}PositionType;

typedef PositionType SElemType; 

typedef struct LNode
{
 PositionType data;
 struct LNode *next;
}LNode,*LinkStack;

int initStack(LinkStack &S)
{
  S=new LNode;
  S->next=NULL;
 return 1;
}

int stackLength(LinkStack S)
{
 LinkStack p;
 p=new LNode;
 int i=0;
 p=S->next;
 while(p)
{
   i++;
   p=p->next;
 }
 return i;
}

int pop(LinkStack &S,SElemType &e)
{
 if(S->next!=NULL)
 { 
  e=S->next->data;
  S->next=S->next->next;
  return 1;
 }
 else return 0;
}

int clearStack(LinkStack &S)
{
  LinkStack p;
  p=new LNode;
  while(S->next)
   {
    p=S->next;
    S->next=S->next->next;
    delete p;
   }
 return 1;
}

int getTop(LinkStack &S,SElemType &e)
{
 LinkStack p=new LNode;
 p=S->next;
 e=p->data;
 return 1;
}

int push(LinkStack &S,SElemType e)
{
 LinkStack p;
 p=new LNode;
 p->data=e;
 p->next=S->next;
 S->next=p;
 return 1;
}

int destroyStack(LinkStack &S)
{
 LinkStack q;
 while(S)
 {
 q=S->next;
 delete S;
 S=q;
}
 return 1;
}

int stackEmpty(LinkStack &S)
{
 LinkStack p=S;
 if(p->next)
 return 0;
 else return 1;
}

⌨️ 快捷键说明

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