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

📄 page137.cpp

📁 数据结构各种算法的实现
💻 CPP
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -