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

📄 骑士周游算法--用数组实现.cpp

📁 数据结构 之骑士周游算法
💻 CPP
字号:
#include<stdio.h>
#include<conio.h>
#include <malloc.h>
#define LEN sizeof(struct stack)

int stack[36][3];
int top=0;
void push(int i,int j,int k)
{                 stack[top][0]=i;
				  stack[top][1]=j;
				  stack[top][2]=k;
				  top++;
}
void pop()
{top--;
}

void start()
{   int y,z,v=0;
	int i,j;
	int move[8][2]={2,1,1,2,1,-2,2,-1,-2,1,-1,2,-1,-2,-2,-1};
	int c[6][6];
	for(i=0;i<6;i++)
	  {for(j=0;j<6;j++)
	   c[i][j]=0;
	  }
	 printf("input y:");
	 scanf("%d",&y);
	 printf("input z:");
	 scanf("%d",&z);
	 int account=0;
	 while(account<35)
	 {
		 while(v<8)
		  {
			  i=y+move[v][0];
			  j=z+move[v][1];
			  if(i>=0&&i<=5&&j>=0&&j<=5&&c[i][j]==0)
				{ push(y,z,v+1);
				  account++;
				  c[y][z]=account;
				  y=i;
				  z=j;
				  v=0;
			}
			  else v++;
			}
		   if(v==8&&account>0&&account!=35)
			{
			  y=q->row;
			  z=q->col;
			  v=q->dir;
			   pop();
			 //	y=stack[top][0];
			   //	z=stack[top][1];
			  // v=stack[top][2];
			   c[y][z]=0;
			   account--;
			 }
	   }
	   c[y][z]=36;
	   for(i=0;i<6;i++)
		 {
		   for(j=0;j<6;j++)
			 {
				 printf("%4d",c[i][j]);
			 }
			printf("\n");
	   }
}

void main()
{printf("\n");
 start();
}

⌨️ 快捷键说明

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