[Hash散列] 7-1 统计工龄 (15分)

Posted luoyoooo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Hash散列] 7-1 统计工龄 (15分)相关的知识,希望对你有一定的参考价值。

给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。

输入格式:

输入首先给出正整数N(N≤105),即员工总人数;随后给出N个整数,即每个员工的工龄,范围在[0, 50]。

输出格式:

按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。

输入样例:

8
10 2 0 5 7 2 5 2

 

输出样例:

0:1
2:3
5:2
7:1
10:1

 

 思路:哈希散列存进一维数组,然后就输出吧!

 1 #include<iostream>
 2 #include<string>
 3 #define N 51
 4 using namespace std;
 5 int main()
 6 {
 7     int n,tmp,a[N]={0};
 8     cin>>n;
 9     for(int i=0;i<n;i++)
10     {
11         cin>>tmp;
12         a[tmp]++;
13     }
14     for(int k=0;k<=N;k++)
15     {
16         if(a[k]!=0)
17         printf("%d:%d
",k,a[k]);
18     }
19     return 0;
20 }

以上是关于[Hash散列] 7-1 统计工龄 (15分)的主要内容,如果未能解决你的问题,请参考以下文章

7-6 统计工龄 (20 分)

10-排序4 统计工龄 (20分)

数据结构与算法题目集(中文)——5-13 统计工龄 (20分)——桶排序

7-13 统计工龄

7-1 词频统计 (30 分)

HASH方法课下补分博客