?? booster.cpp
字號:
// place signal boosters#include <iostream.h>#include "booster.h"#include "binary.h"BinaryTree<Booster> T, U, V, W, X, Y;int tolerance = 3;void PlaceBoosters(BinaryTreeNode<Booster> *x){// Compute degradation at *x. Place booster // here if degradation exceeds tolerance. BinaryTreeNode<Booster> *y = x->LeftChild; int degradation; x->data.D = 0; // initialize degradation at x if (y) {// compute from left child degradation = y->data.D + y->data.d; if (degradation > tolerance) {y->data.boost = true; x->data.D = y->data.d;} else x->data.D = degradation; } y = x->RightChild; if (y) {// compute from right child degradation = y->data.D + y->data.d; if (degradation > tolerance) {y->data.boost = true; degradation = y->data.d;} if (x->data.D < degradation) x->data.D = degradation; }}void main(void){ Booster a, b; a.d = 2; a.D =0; a.boost = 0; b.d=1; b.D=0; b.boost = 0; U.MakeTree(a,X,X); V.MakeTree(b,U,X); U.MakeTree(a,X,X); W.MakeTree(a,U,X); b.d=3; U.MakeTree(b,V,W); V.MakeTree(a,X,X); b.d=3; W.MakeTree(b,X,X); Y.MakeTree(a,V,W); W.MakeTree(a,X,X); T.MakeTree(b,Y,W); b.d=0; V.MakeTree(b,T,U); V.PostOrder(PlaceBoosters); V.PostOutput();}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -