数据结构实验之查找三:树的种类统计(SDUT 3375)
2023-06-13 09:17:22 时间
C:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct node
{
char data[30];
struct node *lc;
struct node *rc;
int num;
};
char a[30];
int n;
struct node *creat(struct node *root)
{
if(root == NULL)
{
root = (struct node *)malloc(sizeof(struct node));
root->lc = NULL;
root->rc = NULL;
root->num = 1;
strcpy(root->data, a);
}
else
{
if(strcmp(a, root->data) == 0)
{
root->num++;
}
else if(strcmp(a, root->data) < 0)
{
root->lc = creat(root->lc);
}
else
{
root->rc = creat(root->rc);
}
}
return root;
};
void fin(struct node *root)
{
if(root != NULL)
{
fin(root->lc);
printf("%s %.2lf%%\n", root->data, 1.0 * root->num * 100 / n);
fin(root->rc);
}
}
int main()
{
int i, j;
int len;
struct node *root;
scanf("%d ", &n);
root = NULL;
for(i = 0; i < n; i++)
{
gets(a);
len = strlen(a);
for(j = 0; j < len; j++)
{
if(a[j] >= 'A' && a[j] <= 'Z')
{
a[j] = a[j] + 32;
}
}
root = creat(root);
}
fin(root);
return 0;
}
相关文章
- 关于F统计量的澄清
- 【干货书】概率论:概率论与统计的导论
- JS统计中英文字数
- Sentinel Go- 毫秒级统计数据结构揭秘
- 探究Presto SQL引擎(4)-统计计数
- 统计遗传学:第九章,GWAS+群体分析+亲缘关系分析
- 统计机器学习方法 for NLP:基于CRF的词性标注
- Oracle 统计用户下表的数据量实现脚本
- 利用Linux系统轻松统计源代码的行数(linux统计代码行数)
- 掌握Linux 命令行中统计列数的方法(linux统计列数)
- 利用Redis统计特定Key的使用情况(redis统计特定key)
- 如何在MySQL中收集和统计信息(mysql收集统计信息)
- Linux下统计网络端口流量的技巧(linux 统计端口流量)
- python数据结构之二叉树的统计与转换实例