zoukankan      html  css  js  c++  java
  • 二叉树链式存储结构下的创建及遍历算法

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include <strings.h>
     4 #define MAX 100
     5 
     6 char * p;
     7 typedef struct BTree{
     8     char * str;
     9     struct BTree * lchild;
    10     struct BTree * rchild;
    11 }BTree;
    12 
    13 BTree* creat_tree(){
    14     BTree* temp;
    15     while(*p==' ')p++;
    16     if(*p=='#'){
    17         p++;
    18         return NULL;
    19     }
    20     if(*p!=' '){
    21         int i=0;
    22         temp = (BTree *)malloc(sizeof(BTree));
    23         temp->str[i++]=*p++;
    24         temp->lchild=creat_tree();
    25         temp->rchild=creat_tree();
    26     }
    27     return temp;
    28 }
    29 
    30 void pre_visit(BTree* node){
    31     printf("%c",node->str);
    32     if(node->lchild!=NULL)pre_visit(node->lchild);
    33     if(node->rchild!=NULL)pre_visit(node->rchild);
    34 }
    35 int main()
    36 {
    37     char tree[MAX];p=tree;
    38     BTree * head;
    39     printf("Please input the tree(use char and #)
    要求按照先序遍历的方式输入,加上#进行区分
    例如123# #4##5##:
    ");
    40     //scanf("%s",tree);
    41     gets(tree);
    42 
    43     if(*p!=''&&*p!=' '&&*p!='#'){
    44         head=(BTree *)malloc(sizeof(BTree));
    45         int i=0;
    46         head->str[i++]=*p++;
    47         //printf("head is %c",head->str);
    48         head->lchild=creat_tree();
    49         head->rchild=creat_tree();
    50     }
    51 
    52     printf("tree is :
    ");
    53     pre_visit(head);
    54     return 0;
    55 }
    BinTree
  • 相关阅读:
    Linux系统下的安装jdk和tomcat教程
    CentOS环境下安装jdk和tomcat
    Java的一个高性能快速深拷贝方法。Cloneable?
    AOP面向切面
    struts中实现ajax的配置信息
    上传下载固定配置
    mysql常用命令
    阿里云部署前后台项目
    PMP相关文件梳理
    面试思路总结
  • 原文地址:https://www.cnblogs.com/jeseesmith/p/14185938.html
Copyright © 2011-2022 走看看