数据结构-顺序树的创建以及按广义表输出

Posted sucker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构-顺序树的创建以及按广义表输出相关的知识,希望对你有一定的参考价值。

 1 #include"stdio.h"
 2 #define MaxSize 30
 3 typedef char DataType;
 4 typedef struct TreeNode
 5     DataType data[MaxSize];
 6     int count;
 7 BinTree;
 8 int k = 0;
 9 //初始化树
10 void initBinTree(BinTree *t)
11 
12     for( int i= 0; i< MaxSize; i++)
13     
14         t->data[i] = #;
15     
16     t->count = 0;
17 
18 //创建二叉树
19 void creatBinTree(BinTree *t, DataType array[], int index)
20 
21     DataType ch = array[k++];
22     if( ch == ;)
23     
24         return ;
25     
26     if( ch != # )
27     
28         t->data[index] = ch;
29         t->count++;
30         creatBinTree(t, array, index*2+1);
31         creatBinTree(t, array, index*2+2);
32     
33 
34 //按广义表输出二叉树
35 void printBinTree(BinTree *t, int index)
36 
37     if(t != NULL)
38     
39         printf("%c ",t->data[index]);
40         if( t->data[index*2+1] != # || t->data[index*2+2] != # )
41         
42             printf("(");
43             printBinTree(t, index*2+1);
44             printf(",");
45             printBinTree(t, index*2+2);
46             printf(")");
47         
48     
49 
50 main()
51 
52     BinTree t;
53     int n;
54     int index = 0;
55     DataType ch[] = A,B,C,#,#,E,#,#,F,G,#,#,H,#,#,;;
56     initBinTree(&t);
57     creatBinTree(&t, ch, index);
58     printBinTree(&t, index);
59 

 

以上是关于数据结构-顺序树的创建以及按广义表输出的主要内容,如果未能解决你的问题,请参考以下文章

树的广义表

数据结构学习笔记——广义表树和二叉树的基本知识

数据结构学习笔记——广义表树和二叉树的基本知识

数组和广义表

数据结构22:数组和广义表

数据结构之广义线性表