【数据结构 是否为二叉排序树】

来源:互联网 发布:洛亚诺克噩梦 知乎 编辑:程序博客网 时间:2024/06/07 20:02

中序遍历~

代码:

#include<iostream>using namespace std;typedef struct node{    char ch;    node *lc,*rc;}*tr,node;int ok,o;void xg(tr &T){    char c;    cin >> c;    if(c == '#') T = NULL;    else{        T = new node;        T -> ch = c;        xg(T -> lc);        xg(T -> rc);    }}void pd(tr &T){    if(T -> lc) pd(T -> lc);    else o = T -> ch - '0';    if(T -> ch - '0' < o) ok = 0;    o = T -> ch - '0';    if(T -> rc) pd(T -> rc);}int main(){    cout << "输入二叉链表:" << endl;    node *T;    xg(T);    o = 0;    ok = 1;    pd(T);    if(ok) cout << "是一颗二叉排序树" << endl;    else cout << "不是一颗二叉排序树" << endl;    return 0;}
原创粉丝点击