浙江大学数据结构MOOC-课后习题-第十讲-排序4 统计工龄

题目汇总
浙江大学数据结构MOOC-课后习题-拼题A-代码分享-2024

题目描述

测试点

思路分析

这道题很明显就是利用桶排序的思路

受到课程内容的影响,我一开始是想着建立一个链表数组,数组内每个元素下方都存放链表,最后再遍历统计输出。

但是,就在我写给元素链表中添加新节点的代码时,我需要用到某年龄段下的人数总和这一数据。而我声明了一个大小为51(题目中一共有51种工龄)的数组,所以我想着要在输入的时候统计好再传给链表数组。------就在这时,我意识到,我都已经统计好了,我干嘛不直接输出,何必多次一举呢?So,read my code : )

代码展示

cpp 复制代码
#include <iostream>
#define MAXSIZE 100000
#define MAXAGE 51

int main()
{
	int N, M, flag;
	int A[MAXSIZE] = { 0 };
	
	std::cin >> N;
	for (int i = 0; i < N; i++)
	{
		std::cin >> M;
		A[M]++;
	}
	flag = 0;
	for (int i = 0; i < MAXAGE; i++)
	{
		if (A[i] != 0)
		{
			if (flag == 0)
			{
				std::cout << i << ":" << A[i];
				flag = 1;
			}
			else
				std::cout << std::endl << i << ":" << A[i];
		}
	}
    return 0;
}
相关推荐
JieE2127 小时前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
JieE2121 天前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
Jack202 天前
HarmonyOS开发中错误处理策略:网络异常统一处理
算法
小小杨树2 天前
读懂色彩:拍照调色不再难
算法·计算机视觉·配色
JieE2122 天前
LeetCode 226. 翻转二叉树|JS 递归超详细拆解,二叉树入门经典题
javascript·算法
JieE2122 天前
LeetCode 104. 二叉树的最大深度|递归思路超详细拆解
javascript·算法
vivo互联网技术2 天前
CVPR 2026 | 全新强化学习框架 BeautyGRPO:重塑真实人像
算法·大模型·cvpr·影像
Darling噜啦啦3 天前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
用户497863050733 天前
(一)小红的数组操作
算法·编程语言