国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

1043. Is It a Binary Search Tree (25)

2019-11-08 20:11:26
字體:
供稿:網(wǎng)友

題目要看仔細,判斷兩次,成功輸出后序,不成功輸出NO 注:左是小于,右是大于等于

#include<iostream>#include<stdlib.h>#define INF 0x3f3f3f#PRagma warning(disable:4996)using namespace std;int N;int comp;bool flag;struct node{ int data; node *l, *r;};node *e;void postorder(node *&a)//后序輸出二叉樹{ if (a->l != NULL) postorder(a->l); if (a->r != NULL) postorder(a->r); if (a==e) printf("%d/n", a->data); else printf("%d ", a->data);}void preorder(int low, int high)//根據(jù)前序及排列樹建立二叉樹 { if (!flag)return; if (low == high) { return; } int mid=-1; for (int t = low + 1;t <= high;t++) if ((e + t)->data >= (e + low)->data) {mid = t;break;} if (mid == -1) {(e + low)->l = e + low + 1;preorder(low + 1, high );} else { for (int t = mid+1;t <= high;t++) if ((e + t)->data < (e + low)->data) {flag = false;return;} if (mid == low + 1) { (e + low)->r = e + mid;preorder(mid, high ); } else { (e + low)->l = e + low + 1;preorder(low + 1, mid - 1 ); (e + low)->r = e + mid;preorder(mid, high ); } }}void preorder2(int low, int high)//鏡像建立{ if (!flag)return; if (low == high) { return; } int mid = -1; for (int t = low + 1;t <= high;t++) if ((e + t)->data < (e + low)->data) { mid = t;break; } if (mid == -1) { (e + low)->l = e + low + 1;preorder2(low + 1, high ); } else { for (int t = mid+1;t <= high;t++) if ((e + t)->data >= (e + low)->data) { flag = false;return; } if (mid == low + 1) { (e + low)->r = e + mid;preorder2(mid, high ); } else { (e + low)->l = e + low + 1;preorder2(low + 1, mid - 1 ); (e + low)->r = e + mid;preorder2(mid, high ); } }}int main(){ cin >> N; e = (node *)malloc(sizeof(node)*N); for (int t = 0;t < N;t++) { cin >> (e + t)->data;(e + t)->l = (e + t)->r = NULL; } flag = true; preorder(0, N - 1); if (!flag) { flag = true;preorder2(0, N - 1); } if (!flag) cout << "NO" << endl; else { cout << "YES" << endl; postorder(e); }}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 类乌齐县| 永康市| 射阳县| 石狮市| 赫章县| 新巴尔虎左旗| 大厂| 当阳市| 镇巴县| 闵行区| 渭南市| 体育| 通山县| 永州市| 贵南县| 东乡族自治县| 喀喇沁旗| 通州区| 平果县| 涟源市| 开封县| 博客| 高唐县| 神池县| 湘西| 班戈县| 福贡县| 额济纳旗| 洪雅县| 大石桥市| 景德镇市| 和田市| 平利县| 莱阳市| 安吉县| 河西区| 刚察县| 永寿县| 二手房| 平谷区| 阳原县|