亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tree.c

?? 本程序在WinTC下調試通過
?? C
字號:
/*2006.5.2
  熊小輝
  湖南理工學院物電樓506
  本程序功能:直觀的顯示了二樹的三種基本遍歷方法。
 */
#include<stdio.h>
#include<math.h>
#include<graphics.h>
#include<dos.h>
#include<stdlib.h>
#include<time.h>

//利用結構體創建樹結點
typedef struct TREE
    { char data;    //存儲數據
      struct TREE *lchild;    //左孩子
      struct TREE *rchild;    //右孩子
      int x;                  //樹結點的坐標
      int y;
    } tree;
struct output
   { int x;//三種遍歷的坐標
     int y;
     int num; //遍歷時是第幾個結點。
   }s;
char str[5];
int nodenum=0;//統計當前結點的數目


void init(void); //圖形的初始化
void close(void);//關閉圖形
tree *inittree(int h,int t,int w);//建立二叉樹
void showtree(tree *first);     //顯示樹的函數
void posorder(tree *first);     //前序遍歷函數
void midorder(tree *first);     //中序遍歷函數
void preorder(tree *first);     //后序遍歷函數

//=================================================================
//=========主函數====================================================
//==================================================================
void main(void)
     {
       tree *node;
        init();     //圖形初始化
       node=inittree(1,320,150); //創建樹
       showtree(node);      //樹的顯示
       s.x=80;
       s.y=410;          //字母顯示的初始化
       s.num=1;
       preorder(node); //前序遍歷函數
       getch();
       clrscr();    //清屏
       showtree(node); //顯示初始化時的圖形
       s.x=80;
       s.y=430;          //字母顯示的初始化
       s.num=1;
       midorder(node);//中序遍歷
       getch();
       clrscr();      //清屏
       showtree(node); //顯示初始化時的圖形
       s.x=80;
       s.y=450;          //字母顯示的初始化
       s.num=1;
       posorder(node); //后序遍歷

       close();           //關閉圖形
     }
//======顯示遍歷每個結點的過程==============================
void shownode(tree *first,int color)
     {   setcolor(YELLOW);
         setfillstyle(SOLID_FILL,YELLOW);
         fillellipse(first->x,first->y,10,10); //將結點填充黃色
         setcolor(4);
         sprintf(str,"%c",first->data);       //用紅色來填寫字符
         outtextxy(first->x-3,first->y-2,str);
         setcolor(color);
         outtextxy(s.x,s.y,str);    //在字符序列表中加入遍歷的字符
         sprintf(str,"%d",s.num);
         outtextxy(first->x,first->y-10,str); //在結點旁邊加上序列號
         s.num++;
     }
//======前序遍歷函數=========================================
void preorder(tree *first)
     { if(first!=NULL)
          {
               getch(); //實現逐個顯示
              s.x+=15;
              shownode(first,4);       //顯示當前結點

              preorder(first->lchild);  //利用遞歸法查詢左子樹
              preorder(first->rchild);  //利用遞歸查詢右子樹

          }
      }
//======= 中序遍歷函數=============================================
void midorder(tree *first)
    {  if(first!=NULL)
         {
            midorder(first->lchild);   //利用遞歸法查詢左子樹

            getch(); //實現逐個顯示
            s.x+=15;
            shownode(first,6);

            midorder(first->rchild);   //利用遞歸查詢右子樹


        }
    }
//======= 后序遍歷=============================================
void posorder(tree *first)
    { if(first!=NULL)
        {

           posorder(first->lchild); //利用遞歸法查詢左子樹

           posorder(first->rchild);   //利用遞歸查詢右子樹
           s.x+=15;
           getch(); //實現逐個顯示
           shownode(first,4);
        }
    }

//========后序遍歷函數=============================================
/* 生成二叉樹,H 表示層次,T表示橫坐標,W 表示結點左右子樹的寬度,隨機數N確定結點是否為空,
  如果N為0,則為空,但要限定結點數不少于三個*/
tree *inittree(int h,int t,int w)
     {  char ch;
        int n;
        tree *node;
         ch=65+random(25);
         {
            if(h==6||nodenum==40)
              return NULL;
            node=(tree*)malloc(sizeof(tree));
            node->data=ch;
            node->x=t;
            node->y=h*50;
            nodenum++;                          //采用遞歸法建立樹
            node->lchild=inittree(h+1,t-w,w/2);
            node->rchild=inittree(h+1,t+w,w/2);
         }
        return node;
     }
 //========用圖形顯示建立的樹==========================
 void showtree(tree *first)
   {   if(first!=NULL)
         {
             setcolor(WHITE);
             circle(first->x,first->y,10); //畫圓,
             //outtextxy(20,20,"a");  //用于測試符號
             sprintf(str,"%c",first->data);
             outtextxy(first->x-3,first->y-2,str);
             if(first->lchild!=NULL)//左子樹不為0
                {
                     //outtextxy(20,40,"b"); //用于測試符號
                     line(first->x-5,first->y+10,first->lchild->x+5,first->lchild->y-10);
                     showtree(first->lchild);
                }
             if(first->rchild!=NULL)
                {
                   // outtextxy(20,60,"c"); //用于測試符號
                    line(first->x+5,first->y+10,first->rchild->x-5,first->rchild->y-10);
                     showtree(first->rchild);
                }

            }
           // else
            // outtextxy(20,80,"f");  //用于測試符號
        }
//==========關閉圖形函數========================
void close(void)
      { getch();
        closegraph();

      }
//===========圖形初始化函數======================
void init(void)
      { int gdriver=DETECT,gmode;
        registerbgidriver(EGAVGA_driver);
        initgraph(&gdriver,&gmode,"");
        setbkcolor(0);
        cleardevice();
        setcolor(5);
        outtextxy(230,10,"input any key to continue");
        outtextxy(20,410,"preorder:");
        outtextxy(20,430,"midorder:");
        outtextxy(20,450,"posorder:");
        getch();
      }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩国产欧美在线播放| 亚洲亚洲人成综合网络| 日韩免费一区二区| 在线不卡a资源高清| 欧美日韩在线不卡| 欧美日韩亚洲综合一区| 欧美巨大另类极品videosbest | 日韩西西人体444www| 欧美日韩激情在线| 9191久久久久久久久久久| 5858s免费视频成人| 欧美一区二区三区人| 欧美一级高清片| 精品久久国产字幕高潮| 精品国产第一区二区三区观看体验| 91精品综合久久久久久| 精品久久五月天| 欧美激情一区二区在线| 日韩美女视频19| 亚洲最大色网站| 日韩国产欧美在线观看| 国产专区欧美精品| 91蜜桃在线免费视频| 欧美三级一区二区| 欧美一区二区成人6969| 国产拍揄自揄精品视频麻豆| 综合分类小说区另类春色亚洲小说欧美| 亚洲天堂免费看| 麻豆精品新av中文字幕| 国产成人av一区二区三区在线| 国产成人a级片| 欧美日韩综合色| 精品福利av导航| 日韩理论片一区二区| 婷婷开心激情综合| 国产成人精品免费网站| 欧美视频在线一区二区三区| 精品欧美一区二区在线观看| 国产精品久久影院| 久久国产精品色婷婷| 91在线无精精品入口| 日韩视频免费直播| 亚洲欧美激情视频在线观看一区二区三区| 日韩精品成人一区二区在线| 国产精品亚洲综合一区在线观看| 色狠狠av一区二区三区| 国产夜色精品一区二区av| 亚洲大型综合色站| 99精品视频一区二区| 欧美成人一区二区三区片免费| 亚洲免费av观看| 懂色av一区二区三区免费观看| 欧美二区三区的天堂| 日韩美女视频一区二区| 国产高清精品久久久久| 制服丝袜日韩国产| 亚洲一区二区av在线| 国产成人精品影视| 26uuu国产日韩综合| 日韩高清不卡在线| 91久久精品网| 亚洲情趣在线观看| 成人免费黄色大片| 国产亚洲1区2区3区| 久久国产尿小便嘘嘘| 欧美高清一级片在线| 亚洲最大成人综合| 91国偷自产一区二区三区成为亚洲经典 | 国产尤物一区二区| 日韩欧美卡一卡二| 六月丁香婷婷久久| 欧美精品成人一区二区三区四区| 亚洲美女屁股眼交3| av不卡在线播放| 中文字幕永久在线不卡| 99视频一区二区| 综合激情网...| 91视频在线观看| 亚洲一级电影视频| 欧美视频一区二| 五月综合激情婷婷六月色窝| 欧美丝袜丝交足nylons| 日日骚欧美日韩| 欧美一级日韩不卡播放免费| 日本色综合中文字幕| 欧美一区二区黄| 久久精品国产一区二区三区免费看| 欧美一级理论片| 国产精品影视天天线| 欧美激情资源网| 91美女精品福利| 亚洲成av人影院在线观看网| 69堂国产成人免费视频| 麻豆一区二区三| 亚洲国产精品t66y| 欧亚一区二区三区| 青青草97国产精品免费观看无弹窗版 | 一区二区三区日韩| 在线成人高清不卡| 国产高清成人在线| 亚洲一级不卡视频| 久久亚洲欧美国产精品乐播 | 亚洲日本欧美天堂| 欧美日韩一区二区在线观看视频| 日本成人在线不卡视频| 国产日产精品一区| 欧美区视频在线观看| 国产呦萝稀缺另类资源| 亚洲女人小视频在线观看| 欧美挠脚心视频网站| 欧美日本乱大交xxxxx| 亚洲视频一区在线| 欧美一级黄色录像| 91在线看国产| 麻豆91在线播放免费| 亚洲桃色在线一区| 精品剧情在线观看| 欧日韩精品视频| 高清成人免费视频| 视频一区欧美精品| 亚洲柠檬福利资源导航| 欧美高清一级片在线观看| 欧美高清一级片在线| 色婷婷综合久久久久中文一区二区 | 成人免费视频一区| 天天av天天翘天天综合网| 国产亚洲欧美色| 7777精品久久久大香线蕉| 91首页免费视频| 国产精品白丝jk黑袜喷水| 午夜激情一区二区| 亚洲视频小说图片| 国产精品视频一二三| 日韩精品一区二区三区视频| 欧美亚州韩日在线看免费版国语版| 国产一区二区三区久久悠悠色av| 亚洲一区在线观看免费观看电影高清| 国产三级精品三级在线专区| 91麻豆精品国产91久久久久久 | 日韩国产高清影视| 一区二区三区在线视频播放| 国产精品国产自产拍高清av| 久久蜜桃av一区精品变态类天堂 | 久久免费看少妇高潮| 欧美肥妇毛茸茸| 欧美色老头old∨ideo| 色综合色综合色综合色综合色综合| 国产精品69毛片高清亚洲| 国产在线播精品第三| 美女网站在线免费欧美精品| 日韩中文字幕91| 日韩主播视频在线| 青娱乐精品视频在线| 日韩制服丝袜先锋影音| 午夜久久久影院| 图片区小说区国产精品视频| 亚洲制服丝袜一区| 亚洲影院在线观看| 一个色妞综合视频在线观看| 一区二区三区四区高清精品免费观看| 国产精品国产三级国产普通话三级| 久久久久久久久久看片| 久久久av毛片精品| 国产日韩欧美不卡在线| 中文字幕av免费专区久久| 国产精品久久久久久福利一牛影视 | 丁香天五香天堂综合| 不卡视频一二三| 色婷婷精品久久二区二区蜜臀av| 在线观看日韩毛片| 欧美人成免费网站| 精品国产免费一区二区三区四区| 精品国产人成亚洲区| 国产精品色婷婷久久58| 亚洲激情在线激情| 蜜桃视频一区二区| 福利一区福利二区| 欧美主播一区二区三区美女| 欧美日韩国产经典色站一区二区三区 | 激情综合色播五月| 成人午夜激情在线| 欧美色区777第一页| 精品女同一区二区| 亚洲欧美日本在线| 久久se精品一区二区| 床上的激情91.| 欧美三级视频在线播放| 久久久久久久久久久久久久久99| 亚洲视频在线观看三级| 美女视频黄频大全不卡视频在线播放 | 日韩精品一区国产麻豆| 欧美国产欧美亚州国产日韩mv天天看完整 | 亚洲成av人片在线观看| 国产老妇另类xxxxx| 欧美日韩在线免费视频| 国产午夜久久久久| 日韩av成人高清| 91麻豆国产在线观看| 日韩亚洲欧美成人一区| 一区二区三区**美女毛片|