紫书上的原题 正好学数据结构拿出来做一下
不知道为什么bfs的队列一定要数组模拟……
还可以练习一下sscanf……
1 #include<stdio.h> 2 #include<iostream> 3 #include<algorithm> 4 #include<math.h> 5 #include<string.h> 6 #include<string> 7 #include<map> 8 #include<set> 9 #include<vector> 10 #include<queue> 11 #define M(a,b) memset(a,b,sizeof(a)) 12 using namespace std; 13 typedef long long ll; 14 const int inf=0x3f3f3f3f; 15 queue<int>ans; 16 struct Binary_Tree //二叉树 17 { 18 int value; 19 Binary_Tree *lchild,*rchild; 20 Binary_Tree() 21 { 22 value=0; 23 lchild=rchild=NULL; 24 } 25 }; 26 bool add(Binary_Tree *&Root,char *s,int value){ //向二叉树中加入点 27 if(Root==NULL) 28 Root=new Binary_Tree(); 29 if(*s=='