SDUT 3375 数据结构实验之查找三:树的种类统计
2016-08-03 14:55
351 查看
点击打开题目链接
#include <bits/stdc++.h> using namespace std; struct node { char str[25]; int sum; node *left, *right; }; int n; node *Insert(node *root, char *st); //void Insert(node *(&root), char *st);insert2 void Inorder(node *root); int main() { char str[25]; node *root = NULL; scanf("%d", &n); getchar(); for(int i = 1; i <= n; i++) { gets(str); for(int j = 0; str[j]; j++) { if(str[j] >= 'A' && str[j] <= 'Z') { str[j] += 32; } } root = Insert(root, str); //2:Insert(root, str); } Inorder(root); return 0; } //Insert1 node *Insert(node *root, char *st) { if(!root) { root = new node; root->sum=1; strcpy(root->str, st); root->left = NULL; root->right = NULL; } else { int x = strcmp(root->str, st); if(x > 0) { root -> left = Insert(root->left, st); } else if(x < 0) { root -> right = Insert(root->right, st); } else { root->sum++; } } return root; } //Insert2 //void Insert(node *(&root), char *st) //{ // if(!root) // { // root = new node; // root->sum=1; // strcpy(root->str, st); // root->left = NULL; // root->right = NULL; // } // else // { // int x = strcmp(root->str, st); // if(x > 0) // { // Insert(root->left, st); // } // else if(x < 0) // { // Insert(root->right, st); // } // else // { // root->sum++; // } // } //} void Inorder(node *root) { if(root) { Inorder(root->left); printf("%s %.2lf%\n", root->str, 100.0*(root->sum)/n); Inorder(root->right); } }
相关文章推荐
- SDUT-3375 数据结构实验之查找三:树的种类统计
- 3375 数据结构实验之查找三:树的种类统计
- 3375 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计 (sdut oj 3375)
- 3375-数据结构实验之查找三:树的种类统计
- SDTU(3375)数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- SDUT OJ 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- SDUTACM 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计(二叉排序树)
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计(先排序树再中序遍历)
- 暑假集训 8.12 sdutoj3375 数据结构实验之查找三:树的种类统计 (简单字符排序二叉树)