1 条题解

  • 0
    @ 2025-2-14 21:26:47

    C++ :

    #include "stdio.h"
    //程欣宇2014年4月13日
    struct BinNode
    {
    	char data;
    	BinNode *rchild;
    	BinNode *lchild;
    	BinNode(char d)
    	{
    		data=d;
    		rchild=lchild=NULL;
    	}
    	~BinNode()
    	{
    		if (lchild) delete lchild;
    		if (rchild) delete rchild;
    	}
    	static BinNode* create()
    	{
    		char ch;
    		do{
    			scanf("%c",&ch);
    		}while(ch<=32);
    
    		if (ch=='^')
    			return NULL;
    		BinNode *node=new BinNode(ch);
    		node->lchild=create();
    		node->rchild=create();
    		return node;
    	}
    	void preTravel()
    	{
    		printf("%c",data);
    		if (lchild) lchild->preTravel();
    		if (rchild) rchild->preTravel();
    	}
    	void midTravel()
    	{
    		if (lchild) lchild->midTravel();
    		printf("%c",data);
    		if (rchild) rchild->midTravel();
    	}
    	void postTravel()
    	{
    		if (lchild) lchild->postTravel();
    		if (rchild) rchild->postTravel();
    		printf("%c",data);
    	}
    };
    
    int main()
    {
    	BinNode *root;
    	do{ 
    		root=BinNode::create();
    		if (root){
    			root->preTravel();printf("\n");
    			root->midTravel();printf("\n");
    			root->postTravel();printf("\n");
    			delete root;
    		}
    	}while(root); 
    	return 0; 
    } 
    
    • 1

    信息

    ID
    916
    时间
    1000ms
    内存
    8MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者