一聚教程网:一个值得你收藏的教程网站

热门教程

C语言保证每次随机值唯一算法实例

时间:2022-06-25 04:52:15 编辑:袖梨 来源:一聚教程网

使用缓存保证1~n每次输出的随机数不一样,代码比较短,思路直接见代码

 代码如下 复制代码
// copyright (c) cguage.com
// e-mail:tangcraig@gmail.com
// date:  2014-1-21
 
#include
#include
#include
#include
using namespace std;
 
int main() {
    map arr;
    int num = 10;
    srand(time(0));
 
    for (int i = 0; i < 10; ++i) {
        int idx = (num > 0 ? rand() % num : 0);
        cout << (arr.find(idx) == arr.end() ? idx : arr[idx]) << endl;
        --num;
        arr[idx] = (arr.find(num) == arr.end() ? num : arr[num]);
    }
 
    return 0;
}


虽然些实例是用C语言实现的,但是此算法可以应用于C#, java, php等编程语言。

热门栏目