zoukankan      html  css  js  c++  java
  • 巧妙的无重复随机数方法

    View Code
        int rand_arr[54] = {0};
        int rand_idx = 0;
        int src_arr[54] = {0};
        int src_end = 53;
        int tempsize = 0;
        int rand_range = 54;
    
        srand(NULL);
    
        //初始src数组
        for(int i=0; i!=54; i++)
            src_arr[i] = i;
    
        for(int i=0; i!=54; i++)
        {
            //生成随机数 得到下标
            tempsize = rand()%rand_range;
            //由下标拿数值 存入rand数组
            rand_arr[rand_idx++] = src_arr[tempsize];
            //最后一位数值填充到被拿走的位置
            src_arr[tempsize] = src_arr[src_end];
            //缩小随机数产生范围
            rand_range--;
            //src数组末尾下标--
            src_end--;
        }
    
        for(int i=0; i!=54; i++)
        {
            printf("%d ",rand_arr[i]+1);
        }
  • 相关阅读:
    2.4 学习总计 之 自己实现底部导航
    2.3 学习总结 之 分页查询
    2.2 学习总结 之 servlet 的两次抽取
    Rocket
    Rocket
    Rocket
    Rocket
    Rocket
    Rocket
    Rocket
  • 原文地址:https://www.cnblogs.com/guyan/p/2582554.html
Copyright © 2011-2022 走看看