From 5b0d3a181bae4a56c56a3320eea3e35050ef5733 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=B7=E5=BB=BA=E4=BC=9F?= Date: Wed, 8 Apr 2020 11:39:36 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20(#18)=E4=BF=AE=E5=A4=8D=E4=B9=A0?= =?UTF-8?q?=E9=A2=986.51=E5=9C=A8=E7=88=B6=E6=93=8D=E4=BD=9C=E7=AC=A6?= =?UTF-8?q?=E4=B8=8E=E5=8F=B3=E5=AD=A9=E5=AD=90=E6=93=8D=E4=BD=9C=E7=AC=A6?= =?UTF-8?q?=E4=BC=98=E5=85=88=E7=BA=A7=E7=9B=B8=E5=90=8C=E6=97=B6=E4=B8=8D?= =?UTF-8?q?=E4=BC=9A=E6=B7=BB=E5=8A=A0=E6=8B=AC=E5=8F=B7=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../▼习题测试文档-06/Data/Algo_6_51.txt | 2 +- .../▼习题测试文档-06/Question-6.51-main.c | 21 ++++------ CLion/ExerciseBook/06.51/06.51.c | 27 ++----------- CLion/ExerciseBook/06.51/TestData.txt | 2 +- Dev-C++/ExerciseBook/06.51/06.51.cpp | 38 +++++------------- Dev-C++/ExerciseBook/06.51/TestData.txt | 2 +- VisualC++/ExerciseBook/06.51/06.51.c | 27 ++----------- VisualC++/ExerciseBook/06.51/TestData.txt | 2 +- VisualC++/ExerciseBook/ExerciseBook.sdf | Bin 8343552 -> 8343552 bytes VisualC++/ExerciseBook/ExerciseBook.suo | Bin 332800 -> 332800 bytes 10 files changed, 29 insertions(+), 92 deletions(-) diff --git a/CFree/▼配套习题解析/▼06 树和二叉树/▼习题测试文档-06/Data/Algo_6_51.txt b/CFree/▼配套习题解析/▼06 树和二叉树/▼习题测试文档-06/Data/Algo_6_51.txt index be56cc6..759451e 100644 --- a/CFree/▼配套习题解析/▼06 树和二叉树/▼习题测试文档-06/Data/Algo_6_51.txt +++ b/CFree/▼配套习题解析/▼06 树和二叉树/▼习题测试文档-06/Data/Algo_6_51.txt @@ -1 +1 @@ -С*/*+a^^b^^-c^^d^^e^^-g^^h^^ \ No newline at end of file +С*/-+a^^b^^-c^^d^^e^^-g^^h^^ \ No newline at end of file diff --git a/CFree/▼配套习题解析/▼06 树和二叉树/▼习题测试文档-06/Question-6.51-main.c b/CFree/▼配套习题解析/▼06 树和二叉树/▼习题测试文档-06/Question-6.51-main.c index 25016d9..379a2c2 100644 --- a/CFree/▼配套习题解析/▼06 树和二叉树/▼习题测试文档-06/Question-6.51-main.c +++ b/CFree/▼配套习题解析/▼06 树和二叉树/▼习题测试文档-06/Question-6.51-main.c @@ -5,7 +5,6 @@ /* ԭ */ void Algo_6_51(BiTree T); Status IsOperator_6_51(char c); -Status LowPriority_6_51(char a, char b); int main(int argc, char *argv[]) { @@ -38,9 +37,10 @@ void Algo_6_51(BiTree T) if(T) { if(T->lchild) - { - if(IsOperator_6_51(T->lchild->data) && LowPriority_6_51(T->lchild->data, T->data)) - { //ǰDzȼڵǰ + { + // DZʽ + if(IsOperator_6_51(T->lchild->data)) + { printf("("); Algo_6_51(T->lchild); printf(")"); @@ -53,8 +53,9 @@ void Algo_6_51(BiTree T) if(T->rchild) { - if(IsOperator_6_51(T->rchild->data) && LowPriority_6_51(T->rchild->data, T->data)) - { //ǰҺDzȼڵǰ + // DZʽ + if(IsOperator_6_51(T->rchild->data)) + { printf("("); Algo_6_51(T->rchild); printf(")"); @@ -72,11 +73,3 @@ Status IsOperator_6_51(char c) // else return ERROR; } - -Status LowPriority_6_51(char a, char b) //ȷaȼǷb -{ - if((a=='+' || a=='-') && (b=='*' || b=='/')) - return TRUE; - else //abͬȼʱҲΪaȼϸ - return ERROR; -} diff --git a/CLion/ExerciseBook/06.51/06.51.c b/CLion/ExerciseBook/06.51/06.51.c index 5b3809d..c7418f6 100644 --- a/CLion/ExerciseBook/06.51/06.51.c +++ b/CLion/ExerciseBook/06.51/06.51.c @@ -10,9 +10,6 @@ void Algo_6_51(BiTree T); // 判断字符c是否为操作符 Status IsOperator(char c); -// 判断两个操作符的优先级 -Status Priority(char a, char b); - int main(int argc, char* argv[]) { BiTree T; @@ -40,8 +37,8 @@ void Algo_6_51(BiTree T) { } if(T->lchild != NULL) { - // 当前结点的左孩子是操作符且优先级低于当前结点 - if(IsOperator(T->lchild->data) && Priority(T->lchild->data, T->data) < 0) { + // 左子树是表达式,则添加括号 + if(IsOperator(T->lchild->data)) { printf("("); Algo_6_51(T->lchild); printf(")"); @@ -53,8 +50,8 @@ void Algo_6_51(BiTree T) { printf("%c", T->data); if(T->rchild != NULL) { - // 当前结点的右孩子是操作符且优先级低于当前结点 - if(IsOperator(T->rchild->data) && Priority(T->rchild->data, T->data) < 0) { + // 右子树是表达式,则添加括号 + if(IsOperator(T->rchild->data)) { printf("("); Algo_6_51(T->rchild); printf(")"); @@ -72,19 +69,3 @@ Status IsOperator(char c) { return ERROR; } } - -// 判断两个操作符的优先级 -Status Priority(char a, char b) { - // a的优先级低 - if((a == '+' || a == '-') && (b == '*' || b == '/')) { - return -1; - - // a的优先级高 - } else if((a == '*' || a == '/') && (b == '+' || b == '-')) { - return 1; - - // 优先级相同 - } else { - return 0; - } -} diff --git a/CLion/ExerciseBook/06.51/TestData.txt b/CLion/ExerciseBook/06.51/TestData.txt index e664c85..9c3cccb 100644 --- a/CLion/ExerciseBook/06.51/TestData.txt +++ b/CLion/ExerciseBook/06.51/TestData.txt @@ -1 +1 @@ -先序序列→*/*+a^^b^^-c^^d^^e^^-g^^h^^ \ No newline at end of file +先序序列→*/-+a^^b^^-c^^d^^e^^-g^^h^^ \ No newline at end of file diff --git a/Dev-C++/ExerciseBook/06.51/06.51.cpp b/Dev-C++/ExerciseBook/06.51/06.51.cpp index eb334e8..a38c29f 100644 --- a/Dev-C++/ExerciseBook/06.51/06.51.cpp +++ b/Dev-C++/ExerciseBook/06.51/06.51.cpp @@ -10,23 +10,20 @@ void Algo_6_51(BiTree T); // жַcǷΪ Status IsOperator(char c); -// жȼ -Status Priority(char a, char b); - int main(int argc, char* argv[]) { BiTree T; - + printf("УT...\n"); InitBiTree(&T); CreateBiTree(&T, "TestData.txt"); PrintTree(T); printf("\n"); - + printf("ʽ"); Algo_6_51(T); printf("\n"); - + return 0; } @@ -38,10 +35,10 @@ void Algo_6_51(BiTree T) { if(T == NULL) { return; } - + if(T->lchild != NULL) { - // ǰDzȼڵǰ - if(IsOperator(T->lchild->data) && Priority(T->lchild->data, T->data) < 0) { + // DZʽ + if(IsOperator(T->lchild->data)) { printf("("); Algo_6_51(T->lchild); printf(")"); @@ -49,12 +46,12 @@ void Algo_6_51(BiTree T) { Algo_6_51(T->lchild); } } - + printf("%c", T->data); - + if(T->rchild != NULL) { - // ǰҺDzȼڵǰ - if(IsOperator(T->rchild->data) && Priority(T->rchild->data, T->data) < 0) { + // DZʽ + if(IsOperator(T->rchild->data)) { printf("("); Algo_6_51(T->rchild); printf(")"); @@ -73,18 +70,3 @@ Status IsOperator(char c) { } } -// жȼ -Status Priority(char a, char b) { - // aȼ - if((a == '+' || a == '-') && (b == '*' || b == '/')) { - return -1; - - // aȼ - } else if((a == '*' || a == '/') && (b == '+' || b == '-')) { - return 1; - - // ȼͬ - } else { - return 0; - } -} diff --git a/Dev-C++/ExerciseBook/06.51/TestData.txt b/Dev-C++/ExerciseBook/06.51/TestData.txt index e53e33a..667d916 100644 --- a/Dev-C++/ExerciseBook/06.51/TestData.txt +++ b/Dev-C++/ExerciseBook/06.51/TestData.txt @@ -1 +1 @@ -С*/*+a^^b^^-c^^d^^e^^-g^^h^^ +С*/-+a^^b^^-c^^d^^e^^-g^^h^^ diff --git a/VisualC++/ExerciseBook/06.51/06.51.c b/VisualC++/ExerciseBook/06.51/06.51.c index eb334e8..cb1fba3 100644 --- a/VisualC++/ExerciseBook/06.51/06.51.c +++ b/VisualC++/ExerciseBook/06.51/06.51.c @@ -10,9 +10,6 @@ void Algo_6_51(BiTree T); // жַcǷΪ Status IsOperator(char c); -// жȼ -Status Priority(char a, char b); - int main(int argc, char* argv[]) { BiTree T; @@ -40,8 +37,8 @@ void Algo_6_51(BiTree T) { } if(T->lchild != NULL) { - // ǰDzȼڵǰ - if(IsOperator(T->lchild->data) && Priority(T->lchild->data, T->data) < 0) { + // DZʽ + if(IsOperator(T->lchild->data)) { printf("("); Algo_6_51(T->lchild); printf(")"); @@ -53,8 +50,8 @@ void Algo_6_51(BiTree T) { printf("%c", T->data); if(T->rchild != NULL) { - // ǰҺDzȼڵǰ - if(IsOperator(T->rchild->data) && Priority(T->rchild->data, T->data) < 0) { + // DZʽ + if(IsOperator(T->rchild->data)) { printf("("); Algo_6_51(T->rchild); printf(")"); @@ -72,19 +69,3 @@ Status IsOperator(char c) { return ERROR; } } - -// жȼ -Status Priority(char a, char b) { - // aȼ - if((a == '+' || a == '-') && (b == '*' || b == '/')) { - return -1; - - // aȼ - } else if((a == '*' || a == '/') && (b == '+' || b == '-')) { - return 1; - - // ȼͬ - } else { - return 0; - } -} diff --git a/VisualC++/ExerciseBook/06.51/TestData.txt b/VisualC++/ExerciseBook/06.51/TestData.txt index be56cc6..759451e 100644 --- a/VisualC++/ExerciseBook/06.51/TestData.txt +++ b/VisualC++/ExerciseBook/06.51/TestData.txt @@ -1 +1 @@ -С*/*+a^^b^^-c^^d^^e^^-g^^h^^ \ No newline at end of file +С*/-+a^^b^^-c^^d^^e^^-g^^h^^ \ No newline at end of file diff --git a/VisualC++/ExerciseBook/ExerciseBook.sdf b/VisualC++/ExerciseBook/ExerciseBook.sdf index ca2ffc6b4ff50dfe8ecd5be19e7c830c6985a675..9b2851f9b65654fdba448a3c0fc329571e48370f 100644 GIT binary patch delta 4465 zcmZ`-33Sxfxt3tuP;xgp-ta8??2~$ zb4T~;{QBm<|Ns4?K=3c-fH7>No_CfZhDGzXY*T?%EcyT?tO>D58DT*VPezalD1!Vp zbHMzw=?Iec?|00@dxz(r&PI?JW9>`h^Zm1gDJ|-FWD2_Gg{0p<@J_Te^mXOz*qg_uGx)@#}TgSM0y%RQSf2(_=X??D%3TIBe{QUuYB@n3brJ`luY zLXh93BFIP5!KJ1T&FG(`ZA(pOV?$n3z_vf_N*K5Jke^95F6xO1{k8PYnW*x3FlYjU z=Fp&pvsG@7v(L47kQT|Nn5Lkn;!;UO*DOwe#*=Lv5v`-946oIML{Jk5SV15P1foNM z7{B94SLNa@Rv+@KI)mIR3-lln$q|hIrzq)*P`uTGW=Q{WBmOLER&E6#`(w{R7~Yzb znuDGf&(Y_wbMjf{tbB$!Bl8$fa~LOgFqD9+{FB>I&&S!6mLQ|x97qTg?Oo(tI8+sx z&&~7AbwmGH2;faby}d)i=cj29o>I**Ot(Fd;mQl?icsb`-HvJUcQxV zrT1WasNLvpv_;&d?-X`wJNO+c!!oj;@r%uLv#_1o&Tk{Pv0I6)*cN%Swu#@QHnC0e zMrI?k!Mo12*6zz0S{+zrUm0w0EsxZDmk!qYmmn0k*jW=^UlyE zszA9YF3rxAd!}opd?{I~mk1?P3G`3eoje|!EEDP^c9L4e77;~SAzr8!umyZRnXgY2 zCQ=j8iDDj_2c7*kC+da7m$elsku)X^Pg7IbR3cSN;Zx8QSF#UwWhE5CNPn3JaIt`k z1KbF}#RDz@aEXAk0}cb+NWdilE*WqsfJ+5j8sO3a=K$O&z>Nl62H?g3E)#HBfO7&4 z2i#b|Wrw(NVaM2tj_zMX`;h9Y=vOBlLA;lc9?9WxZ;r7#!_7#%)HmOK)|_nNT9Mf3 zVTk=3!0%uking)e}@e|BcFaX~#7(X*wJ8M5Ho}r-DYr~^9&*b)*Q>=qMi0%J^q*~q4F_?EHvNF8Fx5B<6(!ey}4J!O;q1h25)KPV4 zomdOqnF+;l^a5;wT*Xx3RYvx>V;pepnoSvTas^X?SEz2*9fov8em4B7C@$SfOx30s z0q#sFi`MgmJSr~$(QnJgz})7N3^+T{{WRp87qET3T5lh)d5{Ot=B+Eoj&A(8u|ED^ zQKu1}t;VQ@><6_=U}k)jO$vMKyosTqdBIT~9~CsbVK8o^Qk@}E*h(DAiT0$l9 z0rfyPa*4RF-Q({K=M#UIysN#z8aXA4w1|mfmUbwj_-U&pV@*XV25H5pQ;4<@x!SM}HV*U8tlEA}h0zzCQi2B{z#6#FTostbK& zpMIIYOk7rb*{s_O`|y48US==0S8SzP(N~5!a>n%bH)uQhb zb}2iV;d-!x*@5kl8HT|a(NFtPLo%pleLKIM+^%h7x8d8=t;|+ztGtEYf^HEv)0@%F z;wEa7-sEgj4FSP6${Uys_y%=7vmReBucOyt>*Uwy*Ra>bwbWXj7HE>ze5?=m$&GY- zBi1Ocq1NcD`PIZ~-zsdCxRP3lt`t{LEA$4wfoRZ{v&-@2@-liEwoI(2>h-0YAsWX)e1|fB|61Z1m*K$UU@OI7+);cFf~|>TuoP_)xsibk-kt^NG{YCunUL< zY86{WRH^gX`S|>HbsjShnuhWp&Jpy{(pCrnHz znh!U>oUN^{h93^k!k((AIJa?U6f)Mp1Sor|vS5&N$3fe#DwE;d&nunS@Jiat_3sc; z|2Z=Ydf9R5@Q$$o`d7`1il1lfia|&NF@%KL=ar2~!(Y;0UiuqC?tekFS()*VSAPCwWxrB4;{(Xb=Z=fwuR|fkY)@DJDrc&Y1 zd$w43f~L};{jE81@M@rLEbkiuKM2&#hrtmh3(REeYS0*{t*=jl%Aq<7Okgc>u#2s; z!;jMIobbcimIU~1(%g}}FA9!o9TO)F8EXk4U$x6|cGIUR?-;eWwKL6l((laKhh#v9 zec3=GB? zNHfxCbWa=dP|4^*X2r#%BI}Su1E79l>p<<$yTNz8@1pNw@5nEh7x)YHZT4;AZS5`W zEm>w{Tvj7&gotQw@^6xF>d%Ge+B5zc`AmN*Jf)tZPent~naBJi@getuvI~leQ4Bigk3f%PGa9&rhq1W_~5TZh82>pS0mA=Zn?zv(Y2K&Q(fy>@rXV1{Z z$OR7ix?SgybIO?@@8>*S_Rhgm;gf+A-s8?=Lm+aLJK{U+I)t!Fd$7%a&~w1Pe{gTO zHL%CK+u1U-GqQtYe12CmvR&C4jN0Pg?Ac_8V%vHe4*q4Y9e!G9c1CO7@Zvy?7bZ0( zXG70GY)!sUKoto2R6hDL$+3xY9+QXX5xK|&C5O%7$N92dV-Z}*3TFBt)wK-AhI?Wr z6;Gv8xa3IE&`2ljYRsMn-&?$))bS|p_MbmCB5?cBs8{hvkYErQ107EHNw~DzI90p4 z>$@cycQ;uQFC%jTv402YMUMNMXq#unP(!f6+b{^#cryu|MXe#}&hHo1q8+HWMnb)d zzx_AI^q%_L796xbN28l8Lo<;U3ruXc;v?HEo+@MtiX69i ztB`&R@-G%x*>25^<*JdrDDvFms)4)OtwknJ4ZPZJb*H<$$P)|F8RcAr{K$fwisBX_ z>#fKitR3GpdW}Iz-!v|X@+IB<@iQ-q*pcYrVqlon8ia&-+yp6tuJI%czkp~%`A7^< zmH?#|D0M(t3Y2=FECb4Npfmtw1yEK3Wff3X17!_R8iC>i3JsLCKzR))>wvNzC>wyX z5hzVS*#wl$K-mJ6tw7lZlin564uikw#KJ0USzKlm;nwZN^ z1wkRT6)Z3V1cI%AQ36yg+Dd9S`4cHy$?j&WvNKg%kfYeOYHM?CZL*pi}GPGKz-C2=&{{WZyh@fY_~5{oW}E zmFpH)QJSteAy1|z*@(;yc}U_hA|d8Hu4v4SsmpiL&XRx6E7a~c~ zNOD`&!2a|_h{z;7PO1rNB6<|ol|NpOaTWgbM4GQ5`EhbDRYpA>%w89Ba;#P;f5`)y z-}0!Unfw@KJEu~d;s$vI2CXj;B>%_CKE6XcnIJuz(WBK13VmXHsBF}a{!M7 zJPL3w;L(7`03Hk2510Ww4sc!+=l4@xy-lrub-wT$oyr{kbw)H)P)3D2cJiM&x_|2w z4nA?C7JcwSum&lU^=fb0ZYK{fAv!#r5EXIG#2L!*i$Q-@LX-2O{yA6dr1VPt%ZtHb z6yO5Dg@DHco&b0v;3B}qfF}Vi0X!LSDc~}|EZ}m$6@aGzt^_<4a24QbfU5yd2mAuy z8GvU3o&|U|-~eC_@EpK%0oO!va4_fMw}EwRN|?Cu{t)M9ex-YQPOPSw(xv8+4IcgC znD%WbiswDfJ{$Y^)XbCsk@d%){KvWpq9F52J=Z{($uG74fl4@jnU9MEQyX(Q%}J^kYwgd5CNzmFrJ~V>}|E4aAIfQX!;7AJ!^HWNA20DwB^uo805fOM7sySDv=GTfRDw_PIh;yOh^1)>QSTn~ zeeOvPMt(e0pd9?lSM}>o`^u+Lzt}b?>%aE(|7slijql!bXX zWAL_mo4;+}Qg89M&@J_K{&oANe3QEwzaiaVZ&=sG>-2RaDn{vOv2jhjMqkr<`Cink zUFEN$tJ)R*NwOUCTg$puiBT?OWY;<75NqRmAE1) ztYTdxE~+ncFUK#)7uXB&^U`@nv34|Nbr{`ZH`8sM6VB1+w6nrlbXGmXov}}=r@7N@ zr|45gm(Yc})R*{|?340I?qnQfV8J>eo?uQGokAzwsT~)NqvPr^?wBpf5+}tYQiO?E z9a2aCQT`}8sRx^?+N>&Tv({K6u3^>~tHssKYGakKie43XF}_k>$*#1TrDnF-S|P1qS6EF_6VqfZ z7njq^jb-98dYREEHqwp8Qei2*RBI3#P=m_zJmS@mxkOyTEHM@fi|NHiy--irYm0tgbGxll?&ylTxEF{v1%DtW|yj^e5pNIootqf zB}|DmNt{GaGK$4wrdTTyis&M3B0tfdpibZ?*yH8#-1vB*RLB%s1yTW1VC0MWOum&T zz@C;&9Kkv84%44~)_855#Hzqz>?ikIDj_1m`Y;Js%Jc=Dgfu!$OXX7|DQt@6lYETNq9lr;jASvHNj8$iBs!_k@QPmAt9f`2@~Cd! zZM$R_=Zcdu$&zs-BNkas4~mBC%P3U*3?~}w2fEW>8@>O}tdI88V|r0jcPPI}_5C^MtwU+Vf3 zjxNvgCOV{|20ZNpXFPi{ARK})9}PEzsg-B)Z-L`es8f-RPB^mx%%xy9g1HRL4BABbdTn*+LFxP?^22%iY9hmFE+yLfAFgJm@8O$wUZUu82nA^eJ0p?CH sTfl4uvkgoU%w1sa26GRXd%@fX=6)~_fO!ziLtq{T^9Y#jQS)fze}DJ6p8x;= diff --git a/VisualC++/ExerciseBook/ExerciseBook.suo b/VisualC++/ExerciseBook/ExerciseBook.suo index 1fb1202f4b63f9251cb926c7a159a3aae2698180..fa4c2ab71f801b83f4d3d6e9c4d0f591c8973387 100644 GIT binary patch delta 10069 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 delta 8764 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