浙江大学数据结构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;
}
相关推荐
眰恦37428 分钟前
数据结构--第六章图
数据结构·算法
2401_8628867838 分钟前
蓝禾,汤臣倍健,三七互娱,得物,顺丰,快手,游卡,oppo,康冠科技,途游游戏,埃科光电25秋招内推
前端·c++·python·算法·游戏
luthane40 分钟前
python 实现armstrong numbers阿姆斯壮数算法
python·算法
楠枬42 分钟前
双指针算法
java·算法·leetcode
sjsjs111 小时前
【数据结构-差分】力扣1589. 所有排列中的最大和
数据结构·算法·leetcode
独領风萧1 小时前
数据结构之二叉树(1)
数据结构
小川_wenxun1 小时前
优先级队列(堆)
java·开发语言·算法
孙小二写代码1 小时前
[leetcode刷题]面试经典150题之4删除有序数组中的重复项II(中等)
算法·leetcode·面试
敲上瘾1 小时前
多态的使用和原理(c++详解)
开发语言·数据结构·c++·单片机·aigc·多态·模拟