二叉树先序存储广义表输出
Posted l1gd0ng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树先序存储广义表输出相关的知识,希望对你有一定的参考价值。
#include<stdio.h> #include<stdlib.h> #define maxSize 50 typedef struct Node int data[maxSize]; int n; Sqbtree; void createSqbtree(Sqbtree &L,char pre[],int n, int &S) char ch =pre[S++]; if(ch == ‘;‘) return ; if(ch != ‘#‘) L.data[n] = ch; createSqbtree(L,pre,2*n+1,S); createSqbtree(L,pre,2*n+2,S); void printSqbtree(Sqbtree L,int n) if(L.data[n] != ‘#‘) printf("%c",L.data[n]); if(L.data[2*n+1] != ‘#‘ && L.data[2*n+2] != ‘#‘) printf("("); printSqbtree(L,2*n+1); if(L.data[n*2+2] != ‘#‘) printf(","); printSqbtree(L,2*n+2); if(L.data[2*n+1] != ‘#‘ && L.data[2*n+2] != ‘#‘) printf(")"); int main() Sqbtree L; int s=0,k=0; char ch[maxSize] = ‘a‘,‘b‘,‘c‘,‘#‘,‘#‘,‘e‘,‘#‘,‘#‘,‘f‘,‘g‘,‘#‘,‘#‘,‘h‘,‘#‘,‘#‘,‘;‘; for(int i = 0;i < maxSize;i++) L.data[i] = ‘#‘; createSqbtree(L,ch,k,s); printSqbtree(L,k);
以上是关于二叉树先序存储广义表输出的主要内容,如果未能解决你的问题,请参考以下文章
NC41 最长无重复子数组/NC133链表的奇偶重排/NC116把数字翻译成字符串/NC135 股票交易的最大收益/NC126换钱的最少货币数/NC45实现二叉树先序,中序和后序遍历(递归)(代码片段