桶排序-1184:明明的随机数

【题目描述】

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成"去重"与"排序"的工作。

【输入】

有2行,第1行为1个正整数,表示所生成的随机数的个数:N;

第2行有N个用空格隔开的正整数,为所产生的随机数。

【输出】

也是2行,第1行为1个正整数M,表示不相同的随机数的个数。第2行为M个用空格隔开的正整数,为从小到大排好序的不相同的随机数。

【输入样例】

复制代码
10
20 40 32 67 40 20 89 300 400 15

【输出样例】

复制代码
8
15 20 32 40 67 89 300 400

刚刚我用sort函数排了

然后发现一年前我用桶排序的思想解决

不记得桶排序是什么了,所以记录一下桶排序做法

复制代码
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int i,j,k,n;
    cin>>n;
    int a[1100]={0};
    int x,cnt=0;
    for(i=1;i<=n;i++){
        cin>>x;
        if(a[x]==0)
            cnt++;
        a[x]++;
    }
    cout<<cnt<<endl;
    for(i=1;i<=1000;i++)
        if(a[i]!=0)
        cout<<i<<' ';
    return 0;
}
相关推荐
Zachery Pole5 小时前
CCF-CSP备战NO.5链表(1)
数据结构·链表
圣光SG7 小时前
Java操作题练习(七)
java·开发语言·算法
Cx330_FCQ8 小时前
Tmux使用
服务器·git·算法
拳里剑气9 小时前
C++算法:多源BFS
c++·算法·宽度优先·多源bfs
ysa05103010 小时前
【板子】短序列dp(换成维护更小常数维度的dp)
c++·笔记·算法·板子
shwill12310 小时前
PID 算法(三)--- 增量 PID ↔ 单神经元 PID 等价映射
linux·算法
wabs66611 小时前
关于图论【卡码网110.字符串迁移的思考】
数据结构·算法·图论
hanlin0312 小时前
刷题笔记:力扣第242、349题(哈希表)
笔记·算法·leetcode
浮沉98713 小时前
二分查找算法例题(二)
算法
only-qi13 小时前
大模型Agent面试攻略:落地工程痛点、评估体系与Agentic RAG核心精讲
人工智能·算法·面试·职场和发展·langchain·rag