随机数去重排序

这篇博客探讨了如何使用C++编程语言处理随机数的去重与排序问题。内容涉及在生成N个1到1000的随机整数(N≤1000)后,通过去重策略保留唯一数值,并进行从小到大的排序。推荐的解决方案是利用桶排序算法来高效地解决这一问题。

用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉。然后再把这些数从小到大排序,完成“去重”与“排序”的工作。

输入描述:

输入多行,先输入随机整数的个数,再输入相应个数的整数

输出描述:

返回多行,处理后的结果

输入例子:
11
10
20
40
32
67
40
20
89
300
400
15
输出例子:
10
15
20
32
40
67
89
300
400

编程技巧:

去重排序,最适合使用简单的桶排序。


注意问题:

最后桶排序输出是i,不是book[i]。

#include <iostream>

using namespace std;

int main(){
    int n;
    int digit;
    int book[1001];
    int i;

    while(cin>>n){
        for(i=0;i<1001;i++)
             book[i]=0;
        for(i=0;i<n;i++){
            cin >> digit;
            if(book[digit]==0)
                book[digit]=1;
        }
        for(i=0;i<1001;i++)
            if(book[i]==1)
                cout << i << endl;        
    }    
}

需要注意的是,循环输入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值