page137.cpp

来自「包含常见的数据结构的类和函数」· C++ 代码 · 共 66 行

CPP
66
字号
struct Intersection{  int left;  int forward;  int right;  };#include <iostream.h>#include <fstream.h>#include <stdlib.h>class Maze{  private:    int MazeSize;    int Exit;    Intersection * intsec;  public:    Maze(char * filename);    int TraverseMaze(int CurrentPos=1);  };  Maze::Maze(char * filename){    ifstream fin;    fin.open(filename,ios::in|ios::nocreate);    if(!fin){      cerr<<"The Maze data file "<<filename<<" cannot be opened!"<<endl;      exit(1);      }    fin>>MazeSize;    intsec=new Intersection[MazeSize+1];    for(int i=1;i<=MazeSize;i++)      fin>>intsec[i].left>>intsec[i].forward>>intsec[i].right;      fin>>Exit;      fin.close();      }  int Maze::TraverseMaze(int CurrentPos){    if(CurrentPos>0){      if(CurrentPos==Exit){	cout<<CurrentPos<<"  ";	return 1;	}	else if(TraverseMaze(intsec[CurrentPos].left)){	  cout<<CurrentPos<<"  ";	  return 1;	  }	  else if(TraverseMaze(intsec[CurrentPos].forward)){	    cout<<CurrentPos<<"  ";	    return 1;	    }	    else if(TraverseMaze(intsec[CurrentPos].right)){	      cout<<CurrentPos<<"  ";	      return 1;	      }      }    return 0;  }void main(){  int i;  char * filename="D:\\Borlandc\\Bin\\Maze.txt";  Maze maze(filename);  i=maze.TraverseMaze();  cout<<endl;  if(!i)cout<<"There isn't any way to the entrance!"<<endl;  }

⌨️ 快捷键说明

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