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

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

?? 二叉排序樹的綜合操作.cpp

?? 數(shù)據(jù)結構經(jīng)典算法的c語言實現(xiàn)
?? CPP
字號:
//* * * * * * * * * * * * * * * * * * * * * * * *
//*CHAPTER          :6  (6_4)                   *
//*PROGRAM          :二叉排序樹的綜合操作       *
//*CONTENT          :Insert,Search,Deltet       *
//* * * * * * * * * * * * * * * * * * * * * * * *
#include <dos.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
enum BOOL{False,True};
typedef struct  BiTNode       //定義二叉樹節(jié)點結構
{char  data;                  //為了方便,數(shù)據(jù)域只有關鍵字一項
 struct BiTNode *lchild,*rchild; //左右孩子指針域
}BiTNode,*BiTree;
BOOL SearchBST(BiTree,char,BiTree,BiTree&); //在二叉排序樹中查找元素
BOOL InsertBST(BiTree &,char);    //在二叉排序樹中插入元素  
BOOL DeleteBST(BiTree &,char);    //在二叉排序樹中刪除元素
void Delete(BiTree &);            //刪除二叉排序樹的根結點
void InorderBST(BiTree);          //中序遍歷二叉排序樹,即從小到大顯示各元素
void main()
{BiTree T,p;
 char ch,keyword,j='y';
 BOOL temp;
/* textbackground(3);  //設定屏幕顏色
 textcolor(15);
 clrscr();*/
 //-------------------------程序說明-------------------------------
 printf("This program will show how to operate to a Binary Sort  Tree.\n");
 printf("You can display all elems,search a elem,\ninsert a elem,delete a elem.\n");
 //----------------------------------------------------------------
 T=NULL;
 while(j!='n')
    {printf("1.display\n");
     printf("2.search\n");
     printf("3.insert\n");
     printf("4.delete\n");
     printf("5.exit\n");
     scanf(" %c",&ch); //輸入操作選項
     switch(ch)
      {case '1':if(!T) printf("The BST has no elem.\n");
		else {InorderBST(T);printf("\n");}
		break;
       case '2':printf("Input the keyword of elem to be searched(a char):");
		scanf(" %c",&keyword); //輸入要查找元素的關鍵字
		temp=SearchBST(T,keyword,NULL,p);
		if(!temp) printf("%c isn't existed!\n",keyword); //沒有找到
		else printf("%c has been found!\n",keyword); //成功找到
		break;
       case '3':printf("Input the keyword of elem to be inserted(a char):");
		scanf(" %c",&keyword); //輸入要插入元素的關鍵字
		temp=InsertBST(T,keyword);
		if(!temp) printf("%c has been existed!\n",keyword); //該元素已經(jīng)存在
		else printf("Sucess to inert %c!\n",keyword); //成功插入
		break;
       case '4':printf("Input the keyword of elem to be deleted(a char):");
		scanf(" %c",&keyword); //輸入要刪除元素的關鍵字
		temp=DeleteBST(T,keyword);
		if(!temp) printf("%c isn't existed!\n",keyword); //該元素不存在
		else printf("Sucess to delete %c\n",keyword); //成功刪除
		break;
       default: j='n';
    }
 }
 printf("The program is over!\nPress any key to shut off the window!\n");
 getchar();getchar();
}
void InorderBST(BiTree T)
{//以中序方式遍歷二叉排序樹T,即從小到大顯示二叉排序樹的所有元素
 if(T->lchild) InorderBST(T->lchild);
 printf("%2c",T->data);
 if(T->rchild) InorderBST(T->rchild);
}

BOOL SearchBST(BiTree T,char key,BiTree f,BiTree &p)
{//在根指針T所指二叉排序樹中遞歸的查找其關鍵字等于key的元素,若查找成功
 //則指針p指向該數(shù)據(jù)元素,并返回True,否則指針指向查找路徑上訪問的最后一
 //個結點并返回False,指針f指向T的雙親,其初始調(diào)用值為NULL
 BOOL tmp1,tmp2;
 tmp1=tmp2=False;
 if(!T) {p=f;return False;}  //查找不成功
 else if(key==T->data) {p=T;return True;} //查找成功
 else if(key<T->data) tmp1=SearchBST(T->lchild,key,T,p); //在左子樹中繼續(xù)查找
 else tmp2=SearchBST(T->rchild,key,T,p); //在右子樹中繼續(xù)查找
 if(tmp1||tmp2) return True; //若在子樹中查找成功,向上級返回True
 else return False;          //否則返回False
}

BOOL InsertBST(BiTree &T,char e)
{//當二叉排序樹T中不存在元素e時,插入e并返回True,否則返回False
 BiTree p,s;
 if(!SearchBST(T,e,NULL,p)) //查找不成功
   {s=(BiTree)malloc(sizeof(BiTNode));
    s->data=e;
    s->lchild=s->rchild=NULL;
    if(!p) T=s;         //被插結點*s為新的根結點
    else if(e<p->data) p->lchild=s; //被插結點*s為左孩子
    else p->rchild=s;   //被插結點*s為右孩子
    return True;  //成功插入
   }
 else return False; //樹中已存在關鍵字為e的數(shù)據(jù)元素
}

BOOL DeleteBST(BiTree &T,char key)
{//若二叉排序樹T中存在關鍵字等于key的數(shù)據(jù)元素時,則刪除該數(shù)據(jù)元素結點
 //并返回True,否則返回False
 BOOL tmp1,tmp2;
 tmp1=tmp2=False;
 if(!T) return False;  //不存在關鍵字等于key的數(shù)據(jù)元素
 else
   {if(key==T->data) {Delete(T); return True;} 
       //找到關鍵字等于key的數(shù)據(jù)元素并刪除它
    else if(key<T->data) tmp1=DeleteBST(T->lchild,key); //繼續(xù)在左子樹中刪除
    else tmp2=DeleteBST(T->rchild,key);   //繼續(xù)在右子樹中刪除
    if(tmp1||tmp2) return True;    //在子樹中刪除成功,返回True
    else return False;      //不存在該元素
   }
}

void Delete(BiTree &p)
{//在二叉排序樹中刪除結點p,并重接它的左或右子樹
 BiTree s,q;
 if(!p->rchild)  //右子樹空,只需重接它的左子樹
  {q=p;
   p=p->lchild;
   free(q);
  }
 else if(!p->lchild) //左子樹空,只需重接它的右子樹
  {q=p;
   p=p->rchild;
   free(q);
  }
 else  //左右子樹均不空
  {q=p;
   s=p->lchild;
   while(s->rchild)
     {q=s;s=s->rchild;} //轉(zhuǎn)左,然后向右走到盡頭
   p->data=s->data;     //s指向被刪結點的“前驅(qū)”
   if(q!=p) q->rchild=s->rchild; //重接*q的右子樹
   else q->lchild=s->lchild;     //重接*q的左子樹
   free(s);
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久66| 亚洲人精品一区| 久久这里只有精品6| 欧美一区二区三区人| 亚洲国产精品久久久男人的天堂 | 亚洲一区二区精品久久av| 中文字幕日韩av资源站| 亚洲影院理伦片| 中文字幕中文字幕在线一区 | 美女视频黄免费的久久| 久久精品理论片| 不卡一卡二卡三乱码免费网站| 大白屁股一区二区视频| 欧美色图激情小说| www久久久久| 亚洲一区中文日韩| 激情久久五月天| 色婷婷av一区二区三区软件 | 亚洲欧美另类图片小说| 日日欢夜夜爽一区| 欧美日韩激情在线| 中文字幕av一区二区三区高| 亚洲bdsm女犯bdsm网站| 不卡免费追剧大全电视剧网站| 欧美美女激情18p| 18成人在线观看| 成人性视频网站| 久久久久青草大香线综合精品| 日韩中文字幕区一区有砖一区| 成人av电影在线观看| 久久久久高清精品| 国产乱码字幕精品高清av| 欧美xingq一区二区| 蜜乳av一区二区| 精品国产一区二区精华| 蜜臀av性久久久久蜜臀av麻豆| 欧美午夜精品理论片a级按摩| |精品福利一区二区三区| 成人一区在线观看| 久久精品亚洲国产奇米99| 亚洲在线成人精品| 99久久精品免费看国产| 亚洲欧洲精品成人久久奇米网| 91麻豆自制传媒国产之光| 亚洲欧美日本韩国| 51久久夜色精品国产麻豆| 偷偷要91色婷婷| 久久久国产一区二区三区四区小说| 激情成人综合网| 亚洲一区中文日韩| 国产欧美精品日韩区二区麻豆天美| 国产成人啪免费观看软件| 亚洲一区二区三区在线播放| 欧美性生活一区| 成人av动漫在线| 免费精品视频在线| 亚洲蜜臀av乱码久久精品蜜桃| 欧美一区欧美二区| 一本色道久久综合狠狠躁的推荐 | 国产精品免费丝袜| 色哟哟亚洲精品| 成人av在线资源| 久久av中文字幕片| 日本不卡不码高清免费观看| 综合激情成人伊人| 欧美亚洲禁片免费| 国产一区免费电影| 麻豆精品精品国产自在97香蕉| 中文字幕日韩一区二区| 中文字幕二三区不卡| 欧美韩国日本不卡| 国产欧美一区二区三区在线老狼| 精品国产99国产精品| 日韩欧美卡一卡二| 久久先锋影音av鲁色资源网| 4438x亚洲最大成人网| 欧美另类高清zo欧美| 欧美日韩国产大片| 日韩欧美国产1| 国产日韩一级二级三级| 国产精品久久久久久久久免费樱桃 | 欧美一区二区三区在线电影 | 日韩欧美视频一区| 3d成人h动漫网站入口| 欧美美女一区二区| 久久久99精品免费观看不卡| 国产精品欧美精品| 亚洲午夜激情网页| 国产不卡视频一区二区三区| 99精品视频中文字幕| 日韩精品中文字幕一区二区三区| 日韩欧美你懂的| 洋洋成人永久网站入口| 久久99国产精品免费网站| 波多野结衣在线aⅴ中文字幕不卡| 成人免费黄色在线| 欧美精品乱码久久久久久按摩 | 亚洲啪啪综合av一区二区三区| 日韩av电影免费观看高清完整版 | 久久久久久久av麻豆果冻| 日韩伦理电影网| 夫妻av一区二区| 久久婷婷成人综合色| 日韩电影免费在线看| 欧美无乱码久久久免费午夜一区| 日韩你懂的在线观看| 奇米一区二区三区| 91精品国产色综合久久| 丝袜美腿亚洲一区二区图片| 在线视频一区二区免费| 亚洲女与黑人做爰| 一本大道久久a久久精品综合| 国产夜色精品一区二区av| 成人免费看视频| 91久久国产综合久久| 91精品国产色综合久久不卡蜜臀| 亚洲一区二区三区四区的| 精品视频在线免费观看| 亚洲3atv精品一区二区三区| 欧美日韩在线不卡| 精品一区二区三区视频| 久久亚洲春色中文字幕久久久| 美女视频黄免费的久久| 国产精品盗摄一区二区三区| 91在线无精精品入口| 午夜视黄欧洲亚洲| 中文字幕欧美三区| 欧美日韩精品欧美日韩精品| 国模娜娜一区二区三区| 一区二区三区中文在线| 日韩一区二区三区视频在线观看| 国产一区二区伦理| 午夜电影一区二区| 国产清纯在线一区二区www| 色8久久人人97超碰香蕉987| 日本伊人午夜精品| 亚洲一区二区在线视频| 国产精品久线观看视频| 91精品婷婷国产综合久久| 成人ar影院免费观看视频| 午夜成人免费视频| 水野朝阳av一区二区三区| 国产精品嫩草影院av蜜臀| 久久久蜜臀国产一区二区| 欧美一二三四在线| 欧美肥妇毛茸茸| 欧美人动与zoxxxx乱| 欧美肥妇bbw| 日韩欧美精品在线| 精品国产91久久久久久久妲己| 欧美在线不卡视频| 欧美亚洲国产一卡| 欧美午夜在线一二页| 欧美日韩黄色影视| 日韩视频免费观看高清完整版在线观看 | 亚洲精品中文字幕在线观看| 亚洲欧洲综合另类在线| 亚洲精品欧美在线| 蜜桃av一区二区三区| 国产精品123| 精品视频一区三区九区| 91精品麻豆日日躁夜夜躁| 久久久久国产精品麻豆| 一区二区三区在线免费播放 | 精品电影一区二区| 久久综合一区二区| 亚洲色大成网站www久久九九| 亚洲一区免费在线观看| 激情综合网最新| 99久久99久久精品免费观看| 欧美久久久久久久久中文字幕| 精品国产髙清在线看国产毛片| 久久久午夜精品| 日韩va亚洲va欧美va久久| 国产成人av一区二区三区在线观看| 91视视频在线观看入口直接观看www | 蜜臀av亚洲一区中文字幕| 色综合久久久久久久久久久| 久久久亚洲午夜电影| 午夜私人影院久久久久| 99精品久久免费看蜜臀剧情介绍| 日韩一区二区三区在线| 性做久久久久久免费观看| 成人福利电影精品一区二区在线观看| 欧美一区二区人人喊爽| 亚洲大片在线观看| 在线这里只有精品| 日韩欧美国产一区在线观看| 中文字幕中文乱码欧美一区二区| 日韩激情在线观看| 51久久夜色精品国产麻豆| 奇米777欧美一区二区| 91国偷自产一区二区三区观看 | 91久久免费观看| 亚洲欧美另类小说| 5月丁香婷婷综合| 久久精品国产久精国产爱| 精品剧情在线观看| 粉嫩在线一区二区三区视频| 欧美国产综合色视频|