欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
交換二叉樹(shù)所有節點(diǎn)的左右子樹(shù)

//實(shí)驗題目:已知二叉樹(shù)以二叉鏈表作為存儲結構,寫(xiě)一個(gè)算法來(lái)交換二叉樹(shù)的所有節點(diǎn)的左右子樹(shù)
//先建立二叉樹(shù)的二叉鏈表存儲結構,再完成算法,注意結果的輸出形式

 

#include <stdio.h>
#include <malloc.h>
#include <windows.h>

#define STACK_INIT_SIZE 100;
#define STACKINCREMENT 10;
//定義二叉樹(shù)數據類(lèi)型
typedef char TElemtype;
typedef struct BiTNode
{
   
      TElemtype data;
      struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
//-------二叉樹(shù)基本操作-------
//初始化二叉樹(shù)
bool InitBiTree(BiTree &T)
{
      T=(BiTree)malloc(sizeof(BiTNode));
      T->data=NULL;
      T->lchild=NULL;
      T->rchild=NULL;
      return true;
}
//創(chuàng )建二叉樹(shù)
void CreateBiTree(BiTree &T)
{
     
     
     
    TElemtype c=' ';
      c=getchar();
      getchar();
      if(c==' ')
      {
            T=NULL;
      }
      else
      {
        InitBiTree(T);
            T->data=c;
            CreateBiTree(T->lchild);
        CreateBiTree(T->rchild);
      }
     
     
}
//操作函數---輸出
bool Visit(TElemtype e)
{
      if(e!=NULL)
      {
       printf("%c ",e);
         return true;
      }
      else
      {
            return false;
      }

     

}
//先序遍歷二叉樹(shù)
bool PreOrderTraverse(BiTree T,bool Visit(TElemtype))
{
     if(T)
       {

             if(Visit(T->data))
             {
                   if (PreOrderTraverse(T->lchild,Visit))
                   {
                         if (PreOrderTraverse(T->rchild,Visit))
                         {
                               return true;
                         }
                   }
                  
             }
             return false;
       }
       else
       {
             return true;
       }
}
//----------------------------

//定義棧的數據類(lèi)型
typedef struct
{
      TElemtype *base;
      TElemtype *top;
      int stacksize;
}SqStack;

//交換左右子樹(shù)
void exchange(BiTree &rt){
 BiTree temp = NULL;
 if(rt->lchild == NULL && rt->rchild == NULL)
        return;
 else{
       temp = rt->lchild;
       rt->lchild = rt->rchild;
       rt->rchild = temp;
 }
 if(rt->lchild)
      exchange(rt->lchild);
 if(rt->rchild)
      exchange(rt->rchild);
}

 


//-------Main函數----
void main()
{
      BiTree T;
    MessageBox(NULL,"請按照先序遍歷輸入二叉樹(shù)!","提示",MB_OK|MB_ICONWARNING);
      MessageBox(NULL,"請輸入數據!(空格表示結束)","提示",MB_OK|MB_ICONWARNING);
      CreateBiTree(T);
      MessageBox(NULL,"輸入結束!","提示",MB_OK|MB_ICONWARNING);
      printf("\n按先序輸出\n");
      PreOrderTraverse(T,Visit);
      MessageBox(NULL,"輸出結束!","提示",MB_OK|MB_ICONWARNING);
    printf("\n交換后\n");
      exchange(T);
    PreOrderTraverse(T,Visit);

}

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
二叉樹(shù)各種操作的C語(yǔ)言實(shí)現
帶你一文看懂二叉樹(shù)的先(中、后)序遍歷以及層次遍歷(圖解+遞歸/非遞歸代碼實(shí)現)
二叉樹(shù)
數據結構算法總結(三)
第二十四課 遍歷二叉樹(shù)
二叉樹(shù)的創(chuàng )建及遍歷(遞歸與非遞歸)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久