【精选】八皇后问题代码.docVIP

  • 1
  • 0
  • 约4千字
  • 约 6页
  • 2018-03-27 发布于贵州
  • 举报
【精选】八皇后问题代码

【注:本代码是在百度知道中一同事的答案中摘录的。】 /*八皇后问题(栈的应用-回溯法) 在8*8的国际象棋盘上,安放8个皇后,要求没有一个皇后能够吃掉其它皇后 即:没有两个或两个以上的皇后占据棋盘上的同一行、同一列或同一条对角线*/ //作者:yangyizhi //日期:2012/1/13 //设计思路: /* 先假定在第一行第一列放一个皇后。从第二行开始,每一行根据上一行皇后的位置,选定一个合适的位置, 把走的每一步都压到一个栈中。 若不能选出合适的位置,则弹栈。(即,退一步)改变上一步皇后的位置,再继续试探 */ #include stdio.h #define Status int #define FALSE 0 #define SUCCESS 1 #define STACK_MAXSIZE 8 typedef struct QUEEN { char x ; //行号 char y ; //列号 } ElemType ; /*数据结构-栈*/ typedef struct STACK { ElemType data[STACK_MAXSIZE] ; int top ; //指向栈顶 } SqStack ; //进栈操作 //参数stackPtr为指向栈的指针 //参数x为压入栈的值 Status Push( SqStack * stackPtr , ElemT

文档评论(0)

1亿VIP精品文档

相关文档