BFS的代码是有框架的,永远都是一个while语句加一个for循环 接着是框架: void bfs() { int head=1; int tail=1; //这一行写加入队列的数(比如坐标)。 while(head<=tail) { //这一行写扩展出来的数 if(/*这里面用来判断扩展出来的数是否合法*/) { tail++; //后面几行把扩展的数加入队列 //再判断是否到达目标位置 } head++; } } 那原理是什么呢? 就是扩展节点得出新节点,再由新节点来扩展出更新的节点,最终找出最后的答案