桶排序-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;
}
相关推荐
木木_王9 小时前
嵌入式Linux学习 | 数据结构 (Day05) 栈与队列详解(原理 + C 语言实现 + 实战实验 + 易错点剖析)
linux·c语言·开发语言·数据结构·笔记·学习
北顾笙9809 小时前
day38-数据结构力扣
数据结构·算法·leetcode
m0_629494739 小时前
LeetCode 热题 100-----14.合并区间
数据结构·算法·leetcode
xin_nai10 小时前
LeetCode热题100(Java)(5)普通数组
算法·leetcode·职场和发展
旖-旎10 小时前
深搜练习(组合)(5)
c++·算法·深度优先·力扣
@小码农10 小时前
2026年3月Scratch图形化编程等级考试一级真题试卷
开发语言·数据结构·c++·算法
Wect11 小时前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·算法·typescript
糖果店的幽灵11 小时前
决策树详解与sklearn实战
算法·决策树·sklearn
Lewiis11 小时前
趣谈排序算法
算法·排序算法
ComputerInBook11 小时前
数字图像处理(4版)——第 8 章——图像压缩与水印(上)(Rafael C.Gonzalez&Richard E. Woods)
人工智能·算法·计算机视觉·图像压缩·图像水印