?? stack.cpp
字號:
#include "stdafx.h"
#include "stack.h"
#include "mazepath.h"
#define NULL 0
#define RANGE 10 //設置數(shù)組的最大長度
typedef int DirectType;
typedef struct {
int r,c; //迷宮中r行c列的位置
}PosType;
typedef struct {
int row,col;
char arr[RANGE][RANGE];//各位置取值' ','#','@'或'*'
}MazeType;
typedef struct {
int step; //當前位置在路徑上的“序號”
PosType seat; //當前的坐標位置
DirectType di; //往下一坐標位置的方向
}ElemType; //棧的元素類型
typedef struct NodeType {
ElemType data;
struct NodeType *next;
}NodeType,*LinkType; //結點類型,指針類型
typedef struct {
LinkType top;
int size;
}Stack; //棧類型
void InitStack(Stack &S){
S.top=NULL;
S.size=0;
}
void DestroyStack(Stack &S){
free(S.top);
}//銷毀棧S,并釋放所占空間
int StackEmpty(Stack S){
if(S.size==0)return 1;
else return 0;
}//若S為空棧(S.top==NULL),則返回1;否則返回0
void Push(Stack &S,ElemType e){
LinkType p;
MakeNode(p,e);
p->next=S.top;
S.top=p;
S.size++;
}//在S的棧頂插入新的棧頂元素e
void Pop(Stack &S,ElemType e){
LinkType p;
if(StackEmpty(S))return;
else {
p=(LinkType)malloc(sizeof(NodeType));
p=S.top;
S.top=S.top->next;
e.step=p->data.step;
e.seat=p->data.seat;
e.di=p->data.di;
S.size--;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -