统计数据出现次数c++
时间: 2023-08-25 19:07:52 浏览: 113
可以使用字典来统计数据出现的次数。假设要统计一个列表中各个元素出现的次数,可以按照以下步骤:
1. 创建一个空字典,用于存储元素出现的次数。
2. 遍历列表中的每个元素,如果该元素在字典中不存在,就将该元素作为键,值为1存入字典;如果该元素已经存在于字典中,就将对应的值加1。
3. 遍历完列表中的所有元素后,字典中存储的就是每个元素出现的次数。
以下是示例代码:
```python
data = [1, 2, 3, 1, 2, 3, 4, 5, 1, 2]
count = {}
for d in data:
if d not in count:
count[d] = 1
else:
count[d] += 1
print(count)
```
输出结果:
```
{1: 3, 2: 3, 3: 2, 4: 1, 5: 1}
```
这表示1出现了3次,2出现了3次,3出现了2次,4和5各出现了1次。
相关问题
c++哈夫曼树统计每个字符出现的次数
哈夫曼树是一种用于压缩数据的算法,它可以将出现频率较高的字符编码为较短的二进制串,从而减小数据的存储空间。在构建哈夫曼树之前,需要统计每个字符出现的次数。以下是一种基于数组的实现方式:
```c
#include <stdio.h>
int main() {
int freq[256] = {0}; // 初始化字符频率数组为0
char str[100]; // 假设字符串长度不超过100
printf("请输入字符串:");
scanf("%s", str);
// 统计每个字符出现的次数
for (int i = 0; str[i] != '\0'; i++) {
freq[str[i]]++;
}
// 输出每个字符出现的次数
for (int i = 0; i < 256; i++) {
if (freq[i] > 0) {
printf("字符 '%c' 出现了 %d 次\n", i, freq[i]);
}
}
return 0;
}
```
该程序先初始化一个长度为256的数组 `freq`,表示 ASCII 码表中的所有字符。然后读入一个字符串,并遍历字符串中的每个字符,将该字符对应的频率加1。最后再遍历一次数组,输出所有出现次数大于0的字符及其出现次数。
需要注意的是,该程序只考虑了 ASCII 码表中的字符,如果需要统计 Unicode 码表中的字符,需要使用更大的数组。
哈希表统计法 c++
根据提供的引用内容,哈希表统计法是一种基于哈希表的算法实现,用于解决数据冲突的问题。下面是一个使用C++实现哈希表统计法的例子:
```cpp
#include <iostream>
#include <unordered_map>
#include <string>
using namespace std;
int main() {
unordered_map<string, int> hash_table; // 创建哈希表
string str = "hello world";
for (char c : str) {
hash_table[string(1, c)]++; // 统计每个字符出现的次数
}
for (auto p : hash_table) {
cout << p.first << ": " << p.second << endl; // 输出每个字符及其出现次数
}
return 0;
}
```
在上面的例子中,我们使用了C++ STL中的unordered_map容器来实现哈希表。首先创建了一个空的哈希表hash_table,然后遍历字符串str中的每个字符,将每个字符作为键值存入哈希表中,并将其对应的值加1。最后遍历哈希表,输出每个字符及其出现次数。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)