HASH排序方法统计整数出现的次数

【问题描述】

用HASH方法统计整数出现的次数

【输入形式】

以逗号分隔,#结尾的整数
【输出形式】

等式。左侧为排序好的整数,右侧为其出现的次数。

【样例输入】

2, 6, 7, 13, 18, 3, 6, 1, 3, 7#

【样例输出】

1=1

2=1

3=2

6=2

7=2

13=1

18=1

哈希排序在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using namespace std;
int main() {
    string s;int a[100000]={0};
    cin>>s;
    int i=0; int tmp=0;
    while(1) {
        if (s[i]>='0'&&s[i]<='9') {
            tmp=tmp*10+s[i]-'0';
        }
        else if(s[i]==','){
            a[tmp]++;
            tmp=0;
        }
        else if (s[i]=='#')
        {a[tmp]++; break;}
        i++;
    }
   
    for (int i=0; i<100000; i++) {
        if(a[i]!=0)cout<<i<<'='<<a[i]<<endl;
    }
    return 0;
   
}