⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2418.cpp

📁 这些是我到目前在PKU上做出的题目
💻 CPP
字号:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>

typedef struct BSTNode
{
    char tree_name[100];
    int time;
    struct BSTNode *lchild,*rchild;
}BSTNode,*BSTree;

int count;
void tree_insert(BSTree &t,char name[])
{
    BSTree y=NULL;
    BSTree x=t;
    while(x)
    {	
        if(strcmp(x->tree_name,name)==0)
        {
            x->time++;
            return;
        }
        
        y=x;
        x=strcmp(x->tree_name,name)>0?x->lchild:x->rchild;
    }	
    x=(BSTree)malloc(sizeof(BSTNode));
    x->lchild=NULL;
    x->rchild=NULL;
    x->time=1;
    strcpy(x->tree_name,name);
    if(t==NULL)
        t=x;
    else
    {
        if(strcmp(y->tree_name,name)>0)
            y->lchild=x;
        else
            y->rchild=x;
    }

    
}

void inorder_walk(BSTree &t)
{
    if(t==NULL)
        return;
    inorder_walk(t->lchild);
    printf("%s %.4f\n",t->tree_name,t->time*100.0/count);
    inorder_walk(t->rchild);
    
}

int main()
{
    char name[100];
    BSTree t=NULL;
    count=0;
    while(gets(name))
    {

        tree_insert(t,name);
        count++;
    }
    inorder_walk(t);
    return 0;
}

⌨️ 快捷键说明

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