您现在的位置是:首页 >

数据结构二叉树遍历 数据结构 6.7 建表达式的二叉树算法演示

火烧 2022-03-21 19:29:29 1068
数据结构 6.7 建表达式的二叉树算法演示   希赛教育计算机专业考研专业课辅导招生  希赛教育计算机专业考研专业课辅导视频  希赛教育计算机考研专业课在线测试系统  BiTree CrtEx tre
数据结构二叉树遍历 数据结构 6.7 建表达式的二叉树算法演示

数据结构 6.7 建表达式的二叉树算法演示  

  希赛教育计算机专业考研专业课辅导招生

  希赛教育计算机专业考研专业课辅导视频

  希赛教育计算机考研专业课在线测试系统

  BiTree CrtExptree( char* exp )  {   // 建立由合法的表达式字符串 exp 确定的只含二元运算符的   // 非空表达式树 返回其存储结构二叉链表的根结点指针   InitStack(S); Push(S # ); // S为暂存运算符的栈   InitStack(PTRS);     // PTRS为暂存子树根指针的栈   p=exp; ch=*p;   while(!(GetTop(S)== # && ch== # ))   {    if (!IN(ch OP)) CrtNode( t ch );  // 建叶子结点    else {     switch (ch) {      case ( : Push(S ch); break;      case ) : {       Pop(S c);       while (c!= ( )       { CrtSubtree(t c); Pop(S c);} // 建子树直至运算符的栈顶为 (        break;      }      defult:{       while (!GetTop(S c) && (precede(c ch)))       { CrtSubtree(t c); Pop(S c);}       // 建子树直至运算符栈顶运算符的优先数低       if ( ch != # ) Push( S ch);       break;      } // defult     } // switch    } // else    if (ch != # ) { p++; ch = *p; }   } // while   Pop(S c); Pop( PTRS t );   DestroyStack(S); DestroyStack(PTRS);   return t;  } // CrtExptree

  算法的执行过程如动画所示

lishixinzhi/Article/program/sjjg/201311/22595  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码