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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 平衡二叉排序樹(shù)的綜合操作.cpp

?? C++經(jīng)典算法源碼絕對(duì)的經(jīng)典好的算法源碼
?? CPP
字號(hào):
//* * * * * * * * * * * * * * * * * * * * * * * *
//*CHAPTER          :6  (6_5)                   *
//*PROGRAM          :平衡二叉排序樹(shù)的綜合操作   *
//*CONTENT          :Insert,Search              *
//* * * * * * * * * * * * * * * * * * * * * * * *
#include <dos.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#define LH 1   //左子樹(shù)高
#define EH 0   //左右子樹(shù)等高
#define RH -1  //右子樹(shù)高
enum BOOL{False,True};
typedef struct //定義記錄的結(jié)構(gòu)
{int keynum;   //在本程序中只含有關(guān)鍵字一項(xiàng)
}Record;
typedef struct  BSTNode   //定義平衡二叉樹(shù)節(jié)點(diǎn)結(jié)構(gòu)
{Record  data;		  //數(shù)據(jù)域
 int bf;                  //平衡因子
 struct BSTNode *lchild,*rchild; //左右孩子指針域
}BSTNode,*BSTree;
BSTree SearchBST(BSTree,int); //在平衡二叉排序樹(shù)中查找元素
BOOL InsertAVL(BSTree &,Record,BOOL&);  //在平衡二叉排序樹(shù)中插入元素
void LeftBalance(BSTree &);    //左平衡旋轉(zhuǎn)處理
void RightBalance(BSTree &);   //右平衡旋轉(zhuǎn)處理
void InorderBST(BSTree); //中序遍歷二叉排序樹(shù),即從小到大顯示各元素
void R_Rotate(BSTree &); //右旋處理
void L_Rotate(BSTree &); //左旋處理
void main()
{BSTree T,p;
 Record R;
 char ch,keyword,j='y';
 BOOL temp,taller;
 textbackground(3);  //設(shè)定屏幕顏色
 textcolor(15);
 clrscr();
 //-------------------------程序說(shuō)明-------------------------------
 printf("This program will show how to operate to \na Balanced Binary Sort  Tree.\n");
 printf("You can display all elems,search a elem,insert a elem.\n");
 //----------------------------------------------------------------
 T=NULL;
 while(j!='n')
    {printf("1.display\n");
     printf("2.search\n");
     printf("3.insert\n");
     printf("4.exit\n");
     scanf(" %c",&ch); //輸入操作選項(xiàng)
     switch(ch)
      {case '1':if(!T) printf("The BST has no elem.\n"); //此時(shí)平衡二叉排序樹(shù)空
		else {InorderBST(T);printf("\n");} //中序遍歷二叉樹(shù),即從小到大顯示所有元素
		break;
       case '2':printf("Input the keynumber of elem to be searched(int number):");
		scanf("%d",&R.keynum); //輸入要查找元素的關(guān)鍵字
		p=SearchBST(T,R.keynum);
                  //p=NULL:查找不成功;p!=NULL:查找成功,p指向該記錄
		if(!p) printf("The record isn't existed!\n"); //沒(méi)有找到
		else printf("The record has been found!\n"); //成功找到
		break;
       case '3':printf("Input the record to be inserted(int number):");
		scanf("%d",&R.keynum); //輸入要插入元素的關(guān)鍵字
		temp=InsertAVL(T,R,taller);
	         //temp=True:成功插入該記錄;temp=False:樹(shù)中已有與記錄R有相同關(guān)鍵字的記錄
                if(!temp) printf("The record has been existed!\n"); //該元素已經(jīng)存在
		else printf("Sucess to insert!\n"); //成功插入
		break;
       default: j='n';
    }
 }
 printf("The program is over!\nPress any key to shut off the window!\n");
 getchar();getchar();
}
void InorderBST(BSTree T)
{//以中序方式遍歷二叉排序樹(shù)T,即從小到大顯示二叉排序樹(shù)的所有元素
 if(T->lchild) InorderBST(T->lchild);
 printf("%-4d",T->data.keynum);
 if(T->rchild) InorderBST(T->rchild);
}

BSTree SearchBST(BSTree T,int key)
{//在根指針T所指二叉排序樹(shù)中遞歸的查找其關(guān)鍵字等于key的元素,若查找成功
 //則返回該元素的地址,若查找不成功,返回地址為NULL
 if((!T)||key==T->data.keynum) return (T);
 else if(key<T->data.keynum) return(SearchBST(T->lchild,key));
 else return(SearchBST(T->rchild,key));
}

BOOL InsertAVL(BSTree &T,Record e,BOOL &taller)
{//若在平衡二叉排序樹(shù)T中中不存在和e有相同關(guān)鍵字的結(jié)點(diǎn),則插入一個(gè)數(shù)據(jù)元素
 //為e的新結(jié)點(diǎn),并返回True,否則返回False。若因插入而使平衡二叉排序樹(shù)失去
 //平衡,則做平衡旋轉(zhuǎn)處理,布爾變量taller反映T長(zhǎng)高與否
 if(!T)      //插入新結(jié)點(diǎn),樹(shù)“長(zhǎng)高”,置taller為T(mén)rue
   {T=(BSTree)malloc(sizeof(BSTNode));
    T->data=e;
    T->lchild=T->rchild=NULL;
    T->bf=EH;
    taller=True;
   }
 else  
    {if(e.keynum==T->data.keynum)  //樹(shù)中已有與e有相同關(guān)鍵字的結(jié)點(diǎn)
	{taller=False; return False;} //不再插入
     if(e.keynum<T->data.keynum)   //應(yīng)繼續(xù)在*T的左子樹(shù)中進(jìn)行搜索
	{if(!InsertAVL(T->lchild,e,taller)) return False; //未插入
	 if(taller)         //已插入到*T的左子樹(shù)中且左子樹(shù)“長(zhǎng)高”
	   switch(T->bf)    //檢查*T的平衡度
	     {case LH:LeftBalance(T); //原本左子樹(shù)比右子樹(shù)高,需要做左平衡處理
		      taller=False;
		      break;
	      case EH:T->bf=LH;    //原本左右子樹(shù)等高,現(xiàn)因左子樹(shù)增高而使樹(shù)增高
		      taller=True;
		      break;
	      case RH:T->bf=EH;    //原本右子樹(shù)比左子樹(shù)高,現(xiàn)左右子樹(shù)等高    
		      taller=False;
		      break;
	     }
	}
    else            //應(yīng)繼續(xù)在*T的右子樹(shù)中進(jìn)行搜索
	{if(!InsertAVL(T->rchild,e,taller)) return False;//未插入
	 if(taller)         //已插入到*T的右子樹(shù)中且右子樹(shù)“長(zhǎng)高”
	   switch(T->bf)    //檢查*T的平衡度
	     {case LH:T->bf=EH;  //原本左子樹(shù)比右子樹(shù)高,現(xiàn)左右子樹(shù)等高  
		      taller=False;
		      break;
	      case EH:T->bf=RH;  //原本左右子樹(shù)等高,現(xiàn)因右子樹(shù)增高而使樹(shù)增高
		      taller=True;
		      break;
	      case RH:RightBalance(T);//原本右子樹(shù)比左子樹(shù)高,需要做右平衡處理
		      taller=False;
		      break;
	     }
	}
   }
 return True;
}
void LeftBalance(BSTree &T)
{//對(duì)以指針T所指結(jié)點(diǎn)為根的二叉樹(shù)做左平衡旋轉(zhuǎn)處理,本算法結(jié)束時(shí),
 //指針T指向新的根結(jié)點(diǎn)
 BSTree lc,rd;
 lc=T->lchild;  //lc指向*T的左子樹(shù)根結(jié)點(diǎn)
 switch(lc->bf) //檢查*T的左子樹(shù)的平衡度,并作相應(yīng)平衡處理 
    {case LH:T->bf=lc->bf=EH; //新結(jié)點(diǎn)插入在*T的左孩子的左子樹(shù)上,要作單右旋處理
	     R_Rotate(T);
	     break;
     case RH:               //新結(jié)點(diǎn)插入在*T的左孩子的右子樹(shù)上,要作雙旋處理
             rd=lc->rchild; //rd指向*T的左孩子的右子樹(shù)根
	     switch(rd->bf) //修改*T及其左孩子的平衡因子 
		{case LH:T->bf=RH;lc->bf=EH;break;
		 case EH:T->bf=lc->bf=EH;break;
		 case RH:T->bf=EH;lc->bf=LH;break;
		}
	     rd->bf=EH;
	     L_Rotate(T->lchild); //對(duì)*T的左子樹(shù)作左旋平衡處理

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品中文有码| 图片区小说区国产精品视频| 国产在线国偷精品免费看| 日韩女优毛片在线| 久久精品噜噜噜成人av农村| 精品人在线二区三区| 国产剧情一区二区| 国产精品三级电影| 在线免费观看日韩欧美| 亚洲国产成人av网| 欧美videos大乳护士334| 国产成人aaaa| 一区二区三区中文字幕电影| 7777精品伊人久久久大香线蕉的| 老汉av免费一区二区三区| 久久奇米777| 色香蕉久久蜜桃| 青青青爽久久午夜综合久久午夜| 国产视频一区二区在线| 在线观看日韩一区| 精品影院一区二区久久久| 最新欧美精品一区二区三区| 91精品国产综合久久精品麻豆| 极品美女销魂一区二区三区免费| 国产精品国产三级国产aⅴ中文| 在线观看视频一区二区| 激情综合色播五月| 一区二区三区在线免费观看| 日韩精品一区二区三区四区| 99精品久久免费看蜜臀剧情介绍| 日韩综合小视频| 国产精品乱人伦中文| 91精品国产全国免费观看| 成人高清视频免费观看| 蜜臀久久99精品久久久久宅男| 国产精品午夜久久| 欧美日韩国产精选| 97久久超碰精品国产| 蜜桃视频在线观看一区| 尤物在线观看一区| 国产亚洲成年网址在线观看| 欧美日韩二区三区| 成+人+亚洲+综合天堂| 日韩精品免费专区| 一区二区三区在线免费播放| 国产日韩欧美精品在线| 国产农村妇女毛片精品久久麻豆 | 国产人成一区二区三区影院| 91久久国产综合久久| 国产伦精品一区二区三区免费迷 | 成人夜色视频网站在线观看| 亚州成人在线电影| 亚洲人成7777| 麻豆精品视频在线观看免费| 精品蜜桃在线看| 亚洲1区2区3区4区| 香蕉久久夜色精品国产使用方法 | 福利91精品一区二区三区| 美女视频黄久久| 亚洲h精品动漫在线观看| 亚洲你懂的在线视频| 国产欧美一区二区精品久导航 | 欧美一级在线视频| 色成人在线视频| 91丨九色丨国产丨porny| 韩国精品在线观看| 久久精品72免费观看| 欧美a级一区二区| 日韩电影网1区2区| 婷婷激情综合网| 日韩影院在线观看| 视频一区免费在线观看| 偷拍自拍另类欧美| 亚洲国产另类av| 亚洲3atv精品一区二区三区| 性做久久久久久免费观看欧美| 一区二区日韩电影| 亚洲成人高清在线| 香蕉乱码成人久久天堂爱免费| 亚洲一区欧美一区| 亚洲成人一区在线| 日本不卡视频在线| 久久精品国产一区二区| 国产毛片精品一区| 成人精品视频一区二区三区| 成人妖精视频yjsp地址| 99re8在线精品视频免费播放| 91网页版在线| 欧美久久高跟鞋激| 日韩欧美在线综合网| 久久一区二区视频| 国产精品午夜电影| 一区二区三区毛片| 天堂一区二区在线| 老色鬼精品视频在线观看播放| 国产一区二区三区日韩| 成熟亚洲日本毛茸茸凸凹| 成人动漫一区二区在线| 91豆麻精品91久久久久久| 欧美精品aⅴ在线视频| 精品国产乱码久久久久久久久 | 成人激情动漫在线观看| 91老师国产黑色丝袜在线| 欧美日韩综合一区| 欧美zozozo| 国产精品午夜在线观看| 亚洲成人在线网站| 国产精品一区二区三区四区| 99精品视频免费在线观看| 欧美日韩高清影院| 国产欧美日韩精品在线| 一个色在线综合| 久久99热国产| 久久久久国产一区二区三区四区| 国产免费成人在线视频| 亚洲一区二区三区视频在线| 久久精品72免费观看| 99久久伊人精品| 制服丝袜亚洲精品中文字幕| 国产精品视频看| 天天色天天爱天天射综合| 国产成人8x视频一区二区| 91久久国产综合久久| 久久久亚洲高清| 亚洲五月六月丁香激情| 国产成人精品三级| 欧美人与性动xxxx| 国产精品不卡在线| 久热成人在线视频| 欧美性xxxxxxxx| 中文av一区二区| 久久精品99久久久| 欧美日韩一二三区| 成人免费一区二区三区视频 | 国产自产视频一区二区三区| 色综合色狠狠天天综合色| 欧美精品一区二区在线播放 | 欧美日韩国产成人在线91| 中文幕一区二区三区久久蜜桃| 日本女优在线视频一区二区| 色呦呦网站一区| 国产视频一区二区在线| 久久精品国产第一区二区三区| 色综合一个色综合| 欧美国产精品专区| 免费成人在线网站| 欧美裸体一区二区三区| 亚洲欧美电影院| 丰满放荡岳乱妇91ww| 欧美精品一区二区久久婷婷| 日本不卡一二三| 在线成人免费观看| 亚洲午夜精品在线| 91福利国产成人精品照片| 中文字幕一区二区在线播放| 国产成人在线视频免费播放| 精品国产免费人成在线观看| 麻豆精品精品国产自在97香蕉| 中文字幕在线观看不卡| 狠狠色2019综合网| 精品久久久久久综合日本欧美| 日本亚洲视频在线| 欧美精品久久99久久在免费线 | 国产三级三级三级精品8ⅰ区| 欧美aaaaaa午夜精品| 91精品国产欧美一区二区| 日韩影院在线观看| 欧美一级xxx| 久久9热精品视频| 精品久久久久久亚洲综合网| 精品无码三级在线观看视频| 精品久久久网站| 国产一区二区在线免费观看| 久久久国产午夜精品| 激情综合色播五月| 欧美激情在线免费观看| av一本久道久久综合久久鬼色| 国产精品久99| 日本韩国精品在线| 亚洲图片自拍偷拍| 91精品久久久久久久91蜜桃| 蜜臀av性久久久久蜜臀aⅴ流畅 | 色吊一区二区三区| 亚洲国产精品影院| 日韩丝袜美女视频| 国产伦精品一区二区三区免费 | 99国内精品久久| 伊人婷婷欧美激情| 7777精品伊人久久久大香线蕉最新版| 香蕉成人啪国产精品视频综合网| 91麻豆精品国产91久久久久久久久 | 国产精一品亚洲二区在线视频| 国产天堂亚洲国产碰碰| 不卡高清视频专区| 亚洲图片有声小说| 精品国产一区a| gogo大胆日本视频一区| 亚洲国产你懂的| 久久一区二区三区国产精品| 97久久精品人人澡人人爽|