Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
郁闷,不知道哪错了....二叉排序树做的,哪位大牛帮忙看看啊!//PKU 2418 郁闷,不知道哪错了...... #include<stdio.h> #include<string.h> #include<ctype.h> #include<stdlib.h> typedef struct BSTNode { char treeName[100]; int times; struct BSTNode *lchild,*rchild; }BSTNode,*BSTree; int count; void InsertBST(BSTree &t,char name[]) { BSTree p,f; p=t; while(p) { if(strcmp(p->treeName,name)==0) { p->times++; return ; } f=p; p=(strcmp(name,p->treeName)<0)?p->lchild:p->rchild; } p=(BSTree)malloc(sizeof(BSTNode)); strcpy(p->treeName,name); p->lchild=p->rchild=NULL; p->times=1; if(t==NULL)t=p; else { if(strcmp(p->treeName,f->treeName)<0) f->lchild=p; else f->rchild=p; } } void InOrderTraverse(BSTree &t) { if(t!=NULL) { InOrderTraverse(t->lchild); printf("%s %.4f\n",t->treeName,t->times*100.0/count); InOrderTraverse(t->rchild); } } int main() { char str[100]; BSTree t = NULL; count=0; //int z=29; while(gets(str)) //while((z--)>0) { gets(str); InsertBST(t,str); count++; } InOrderTraverse(t); //scanf("%d",&count); return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator