pingheng.c

来自「输入字符」· C语言 代码 · 共 53 行

C
53
字号
#include<stdio.h>
#define null 0
typedef struct btnode {
	char data;
	struct btnode *lchild,*rchild;
	}btnode,*bttree;
bttree serchnode(bttree t,char data){//检查是否有相同的字符,有返回空,没有返回该插入的接点位置
	btnode *r,*f;
	r=t;
	while(r){
		f=r;
		if (r->data>data)
		                 r=r->lchild;
		   else if (r->data<data)
		                 r=r->rchild;
		   else {               
		    f=null;
		    break;
		    }
		    }
		 return f;   
	}	
vist(bttree t){//访问平衡二叉树
	if (t){
	   vist(t->lchild);
	   printf("%c",t->data);
	   vist(t->rchild);
	   }	
}
	main(){
		bttree p,q,s,t;
		char c;
		scanf("%c",&c);
		t=(bttree)malloc(sizeof(btnode));
		t->data=c;
		t->lchild=null;
		t->rchild=null;
		p=t;
		while((c=getchar())!=EOF && c!='\n'){//输入字符建树
			s=(bttree)malloc(sizeof(btnode));
			s->data=c;
		  s->lchild=null;
		  s->rchild=null;
		  q=serchnode(p,c);
		  if (q)
		     if (q->data>c) 
		        q->lchild=s;
		      else
		        q->rchild=s;       
			}
	vist(p);		
		}
	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?