Beispiel #1
0
node *get_node_any(const char *message_id, unsigned int group_id) {
  return get_node_1(message_id, group_id, 0);
}
Beispiel #2
0
void main()
{
	BiTree T;         //定义一个指向BiTNode结点的指针
	int choice;
	do{
	printf("\n");
	printf("请选择操作:\n");
	printf("1.按照先序的次序生成一颗二叉树\n");
	printf("2.递归算法实现二叉树的先序遍历,输出各结点值\n");
    printf("3.用非递归算法实现二叉树的遍历,输出各结点值\n");
	printf("4.求度分别为0、1、2的结点的数目(递归算法实现)\n");
	printf("5.求度分别为0、1、2的结点的数目(非递归算法实现)\n");
	printf("6.按层次遍历二叉树\n");
	printf("7.求二叉树的高度(深度)\n");
	printf("8.判断是否为完全二叉树,输出\"Yes!\"或\"No!\"\n");
	printf("9.交换每个结点的左右子树,并用先序遍历的方式输出\n");
	printf("10.对交换左右子树后的二叉树作中序遍历\n");
    printf("11.保存到文件\n");
	printf("12.从文件中读取并输出\n");
	printf("13.退出\n");
	scanf("%d",&choice);
	switch(choice){
	case 1:
		CreateBiTree(&T);   //创建二叉树
		break;
    case 2:
		PreOrderTraverse(T); //利用递归算法的先序遍历,输出结点值
		break;
	case 3:
		PreOrderTraverse2(T);//利用非递归算法的先序遍历,输出结点值
		break;
	case 4:
		get_node(T); //利用递归算法得到的各个结点的个数
		break;
	case 5:
		get_node_1(T);  //利用非递归算法得到的各个结点的个数
		break;
	case 6:
		LevelOrder(T);
		break;
	case 7:
		printf("二叉树的高度为%d\n",height(T));
		break;
	case 8:
		if(judge(T)==0)
			printf("No!\n");
		else
			printf("Yes!\n");
		break;
    case 9:
         exchange(T);
		 PreOrderTraverse(T);
		 break;
	case 10:
         InorderTraverse(T);
		 break;
	case 11:
		copy_TERM("d:\\aaa.dat",T);
		break;
	case 12:
		type("d:\\aaa.dat",T);
		break;
	}	
	}while(choice!=13);	
}