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

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

?? bitree.cpp

?? 數(shù)據(jù)結(jié)構(gòu) 二叉樹(shù)算法集合為學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的同學(xué)提供幫助 互相交流
?? CPP
字號(hào):
#include<stdio.h>
#include<stdlib.h>
#define OVERRFLOW 0
#define OK 1
#define ERROR 0
#define MAXSIZE 100

typedef struct BiNode{
   char data;
   struct BiNode *lchild,*rchild;
}BiNode,*BiTree;

typedef struct SqQueue{ //循環(huán)隊(duì)列結(jié)點(diǎn)
    BiTree *base;
	int front;
	int rear;
	int queuesize;
}SqQueue,*SqQueueptr;

typedef enum{Visit,Travel}TaskType;

typedef struct{
 BiTree ptr;
 TaskType task;
}ElemType;

typedef struct stack{
  ElemType *base;
  ElemType *top;
  int stacksize;
}Stack;

InitStack(Stack &S){
S.base=new ElemType[100];
if(!S.base) return ERROR;
S.top=S.base;
S.stacksize=MAXSIZE;
return OK;
}

StackEmpty(Stack S){
if(S.base==S.top)return OK;
else return ERROR;

}
Push(Stack &S,ElemType e){
//插入新的元素e使之成為新的棧頂元素
if(S.top>S.base+S.stacksize) return ERROR;
*S.top++=e;  
return OK; 
}

Pop(Stack &S,ElemType &e){
 if(S.top==S.base)return ERROR;
 e=*(--S.top);
 return OK;
}

InitQueue(SqQueue &Q){   //初始化循環(huán)鏈表
Q.base=new BiTree[MAXSIZE];
if(!Q.base)exit(0);
Q.queuesize=MAXSIZE;
Q.front=Q.rear=0;
return OK;
}

IsEmpty(SqQueue Q){    
if(Q.rear==Q.front)return OK;
else return ERROR;
}

EnQueue(SqQueue &Q,BiTree e){           //新元素入隊(duì)列
//插入元素e為Q的新的隊(duì)尾元素
	if((Q.rear+1)%Q.queuesize==Q.front)return ERROR;
	Q.base[Q.rear]=e;
	Q.rear=(Q.rear+1)%Q.queuesize;
	return OK;
}

DeQueue(SqQueue &Q,BiTree &e){      //出隊(duì)列
if(Q.front==Q.rear)return ERROR;
e=Q.base[Q.front];
Q.front=(Q.front+1)%Q.queuesize;
return OK;
}

CreateBiTree(BiTree &T){            //創(chuàng)建二叉樹(shù)
	char ch;
	scanf("%c",&ch);
	if(ch==' ')T=NULL;
	else{
	if(!(T=(BiNode *)malloc(sizeof(BiNode)))) exit(0);
	T->data=ch;
	CreateBiTree(T->lchild);
	CreateBiTree(T->rchild);	
	}
  return OK;
}

PrintElement(BiTree T){
 printf("%c",T->data);
 return OK;
}

PreOderTrverse(BiTree T){       //遞歸前序輸出
  
	if(T){
	  if(PrintElement(T))
	  if(PreOderTrverse(T->lchild))
	  if(PreOderTrverse(T->rchild)) return OK;
	  return ERROR;
	}
   else return OK;
}
BackOderTrverse(BiTree T){          //遞歸后序輸出
  
	if(T){
	  if(BackOderTrverse(T->lchild))
	  if(BackOderTrverse(T->rchild)) 
	  if(PrintElement(T))return OK;
	  return ERROR;
	}
   else return OK;

}

InOderTrverse(BiTree T){           //遞歸中序輸出
  
	if(T){

	  if(InOderTrverse(T->lchild))
	  if(PrintElement(T))
	  if(InOderTrverse(T->rchild)) return OK;
	  return ERROR;
	}
   else return OK;

}
PreOderTraverse1(BiTree T){
Stack S;ElemType e;BiTree p;
InitStack(S);
e.ptr=T;e.task=Travel;
if(T)Push(S,e);
while(!StackEmpty(S)){
Pop(S,e);
if(e.task==Visit)PrintElement(e.ptr);
else if(e.ptr){
p=e.ptr;e.ptr=p->rchild;e.task=Travel;
Push(S,e);
e.ptr=p->lchild;
Push(S,e);
e.ptr=p;e.task=Visit;
Push(S,e);
}
}
return OK;
}

InOderTraverse1(BiTree T){      
Stack S; ElemType e;BiTree p;
InitStack(S);
e.ptr=T;e.task=Travel;
if(T)Push(S,e);
while(!StackEmpty(S)){
	Pop(S,e);
	if(e.task==Visit)PrintElement(e.ptr);
    else if(e.ptr){
	p=e.ptr;e.ptr=p->rchild;e.task=Travel;
    Push(S,e);
    e.ptr=p;e.task=Visit;
	Push(S,e);
    p=e.ptr;e.ptr=p->lchild;e.task=Travel;
	Push(S,e);
	}
}
return OK;
}

BackTraverse1(BiTree T){
Stack S; ElemType e;BiTree p;
InitStack(S);
e.ptr=T;e.task=Travel;
if(T)Push(S,e);
while(!StackEmpty(S)){
Pop(S,e);  
if (e.task==Visit) PrintElement(e.ptr);
else if(e.ptr){
 //p=e.ptr; 
 e.task=Visit;  
 Push(S,e); 
 p=e.ptr; e.task=Travel; e.ptr=p->rchild;  
 Push(S,e); // 遍歷右子樹(shù)
 e.ptr=p->lchild; 
 Push(S,e); // 遍歷左子樹(shù)
}
}
return  OK;
}

LayerTraverse(BiTree T){       //層次輸出
SqQueue Q;BiTree p;//p=T;
InitQueue(Q);
if(T)EnQueue(Q,T);
while(!IsEmpty(Q)){
	DeQueue(Q,p);PrintElement(p);
    if(p->lchild)EnQueue(Q,p->lchild);
	if(p->rchild)EnQueue(Q,p->rchild);
}
return  OK;
}

BiTreeDepth(BiTree T,int &depth){       //求二叉樹(shù)的深度
int Ldepth=0,Rdepth=0;
if(!T)depth=0;
else {
  BiTreeDepth(T->lchild,Ldepth);
  BiTreeDepth(T->rchild,Rdepth);
  depth=1+(Ldepth>Rdepth?Ldepth:Rdepth);
}
return OK;
}


CountFleaves(BiTree T,int &count){      //求葉子結(jié)點(diǎn)的數(shù)目
if(T){
	if(T->lchild==NULL&&T->rchild==NULL)
	  count++;
	  CountFleaves(T->lchild,count);
      CountFleaves(T->rchild,count);
	}
   return OK;
}

CountNodes(BiTree T,int &count2){   //總結(jié)點(diǎn)的數(shù)目

	if(T) {
	 count2++;
	 CountNodes(T->lchild,count2);
	 CountNodes(T->rchild,count2);
	  
	}
 
   return OK;

}

main(){           //主函數(shù)
int i;
BiTree T;
int count,count2,depth;
while(1){
count=0,count2=0;depth=0;
printf("\n\n創(chuàng)建二叉樹(shù)-------------------------1\n");
printf("遞歸方法輸出(前、中、后序)---------2\n");
printf("非遞歸方法輸出(前、中、后序)-------3\n");
printf("二叉樹(shù)的深度-----------------------4\n");
printf("層次輸出---------------------------5\n");
printf("葉子接點(diǎn)數(shù)-------------------------6\n");
printf("接點(diǎn)總數(shù)---------------------------7\n");
printf("退出-------------------------------0\n");
scanf("%d",&i);
switch(i){
case 0: exit(0);break;
case 1: printf("\n輸入二叉樹(shù)的項(xiàng):\n");getchar();CreateBiTree(T); break;
case 2:	printf("遞歸方法實(shí)現(xiàn)遍歷:\n前序輸出:\n");PreOderTrverse(T);
	    printf("\n中序輸出:\n");InOderTrverse(T);
		printf("\n后序輸出:\n");BackOderTrverse(T);break;
case 3: printf("非遞歸方法實(shí)現(xiàn)遍歷:\n前序輸出:\n");PreOderTraverse1(T);
	    printf("\n中序輸出:\n");InOderTraverse1(T);
	    printf("\n后序輸出:\n");BackTraverse1(T);break;
case 4: BiTreeDepth(T,depth);printf("二叉樹(shù)的深度為:%d\n",depth);break;
case 5: printf("層次輸出:\n");LayerTraverse(T);break;
case 6: CountFleaves(T,count);printf("葉子接點(diǎn)數(shù)為:%d\n",count);break;
case 7: CountNodes(T,count2); printf("接點(diǎn)總數(shù)為:%d\n",count2);break;
default: break;
}
}
return OK;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人综合激情网| 精品久久一二三区| 91网址在线看| www.亚洲人| 成人午夜激情影院| 国产成人午夜精品影院观看视频| 美腿丝袜亚洲三区| 秋霞午夜av一区二区三区| 亚洲成av人在线观看| 亚洲一区二区三区四区的| 一区二区三区免费| 夜夜嗨av一区二区三区四季av| 亚洲欧美日韩综合aⅴ视频| 日韩美女精品在线| 亚洲欧美日韩人成在线播放| 中文字幕一区二区三区四区| 中文字幕亚洲不卡| 最新不卡av在线| 一区二区三区四区五区视频在线观看| 一个色在线综合| 午夜精品aaa| 狂野欧美性猛交blacked| 久久66热re国产| 国产在线观看免费一区| 国产成人在线观看免费网站| 成+人+亚洲+综合天堂| 99视频有精品| 欧美日韩视频不卡| 日韩限制级电影在线观看| 26uuu亚洲综合色欧美| 久久久久久久久蜜桃| 国产精品午夜在线| 亚洲制服丝袜在线| 久久激情综合网| 成人激情小说乱人伦| 色8久久精品久久久久久蜜| 欧美精品一级二级三级| 欧美r级在线观看| 国产一区美女在线| 成人av网址在线观看| 色婷婷av一区二区三区gif| 7777精品伊人久久久大香线蕉超级流畅| 欧美电影免费观看高清完整版在线| 国产日韩欧美高清在线| 悠悠色在线精品| 韩国一区二区在线观看| 99国产精品99久久久久久| 欧美美女喷水视频| 中文字幕免费观看一区| 亚洲高清视频在线| 国产69精品久久777的优势| 欧美亚州韩日在线看免费版国语版| 日韩一区二区中文字幕| 国产精品久久久久天堂| 日韩激情一区二区| 成人v精品蜜桃久久一区| 欧美精品视频www在线观看| 国产亚洲欧美激情| 亚洲成人av资源| 国产suv精品一区二区6| 欧美老肥妇做.爰bbww视频| 欧美国产成人精品| 日韩av一级片| 色偷偷久久人人79超碰人人澡| 日韩免费观看高清完整版 | 亚洲青青青在线视频| 美女尤物国产一区| 日本久久一区二区| 国产日韩在线不卡| 青椒成人免费视频| 日本韩国欧美国产| 国产日本欧洲亚洲| 免费看欧美女人艹b| 欧美曰成人黄网| 国产精品久久久久久久第一福利 | 99综合影院在线| 欧美成人女星排行榜| 亚洲综合av网| 99久精品国产| 国产欧美日韩亚州综合 | 欧美一区二区三区免费视频| 亚洲日韩欧美一区二区在线| 国产精品资源站在线| 日韩一区二区免费在线观看| 亚洲午夜久久久久久久久电影院| 成人免费高清在线| 国产性做久久久久久| 久久精品99久久久| 制服丝袜亚洲精品中文字幕| 91亚洲永久精品| 欧美激情一区二区三区四区| 九色综合国产一区二区三区| 5566中文字幕一区二区电影 | 91在线播放网址| 欧美激情在线一区二区| 久久精品国产免费| 欧美另类久久久品| 最新成人av在线| 成人亚洲一区二区一| 精品对白一区国产伦| 亚洲人成精品久久久久| 成人一区二区三区在线观看| 2017欧美狠狠色| 久久精品99国产精品日本| 欧美videofree性高清杂交| 日韩电影一区二区三区| 91美女在线看| 中文字幕在线不卡视频| 成人性生交大片免费| 欧美一级xxx| 激情五月婷婷综合| 91精品国产综合久久精品性色| 一区二区三区在线视频免费观看| 成人av网站在线观看免费| 国产无人区一区二区三区| 久久疯狂做爰流白浆xx| 欧美一区二区三区啪啪| 日韩精品91亚洲二区在线观看| 欧美日韩一区二区三区高清| 日韩中文字幕1| 欧美人动与zoxxxx乱| 亚洲午夜三级在线| 欧美自拍丝袜亚洲| 亚洲一区二区在线免费观看视频 | xfplay精品久久| 国产一区二区导航在线播放| 久久亚洲影视婷婷| 国产精品系列在线播放| 免费的国产精品| 久久久噜噜噜久久人人看 | 亚洲手机成人高清视频| 91激情在线视频| 亚洲成人在线免费| 91精品国产一区二区三区| 蜜桃精品视频在线观看| 日韩午夜av一区| 成人久久视频在线观看| 国产精品乱码一区二三区小蝌蚪| 国产精品一卡二卡在线观看| 欧美经典一区二区三区| 波多野结衣中文字幕一区| 亚洲第四色夜色| 91精品国产手机| 精品一区二区三区不卡| 国产女人18毛片水真多成人如厕| 99久久久精品| 偷偷要91色婷婷| 精品成人a区在线观看| 成人蜜臀av电影| 亚洲综合图片区| 91精品国产一区二区| 成人高清视频免费观看| 亚洲精品久久久蜜桃| 制服丝袜亚洲网站| 国产一区二区精品久久99| 亚洲色图第一区| 欧美不卡在线视频| 成人黄色电影在线| 亚洲激情一二三区| 日韩午夜中文字幕| 成人激情黄色小说| 麻豆国产欧美一区二区三区| 国产天堂亚洲国产碰碰| 一本大道久久a久久精二百| 日韩精品乱码免费| 日韩午夜中文字幕| 色呦呦一区二区三区| 免费观看一级特黄欧美大片| 欧美国产欧美亚州国产日韩mv天天看完整| 99精品国产热久久91蜜凸| 日韩精品一二三四| 亚洲男同1069视频| 日韩一区二区三区免费观看| 成人激情免费视频| 人禽交欧美网站| 国产欧美日韩精品a在线观看| 在线不卡a资源高清| 成人晚上爱看视频| 日本不卡免费在线视频| 国产精品美女久久久久久久久久久 | 日精品一区二区三区| 欧美高清一级片在线观看| 欧美日韩一区三区| 国产高清精品在线| 日韩av高清在线观看| 18成人在线观看| 精品欧美乱码久久久久久1区2区| 99精品视频中文字幕| 精品系列免费在线观看| 亚洲女厕所小便bbb| 国产精品三级电影| 欧美一区二区三区免费观看视频| 色一情一伦一子一伦一区| 国产九九视频一区二区三区| 久久日一线二线三线suv| 日韩视频在线一区二区| 在线观看精品一区| 99视频一区二区| 国产精品69毛片高清亚洲| 狠狠色丁香久久婷婷综|