C++时间复杂度为O(n)随机生成不重复的数代码

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
#include<stdio.h>
#include <time.h>
#include "iostream"
#include <math.h>
#define  N  53
using namespace  std;
  
//print array
void display(int *a)
{
       for (int i =0;i<N;i++)
       {
           cout<<" "<<a[i]<<" ";
       }
         
}
  
int  main(void)
{
      
    int b[N],a[N];
    for (int i =0;i<N;i++)
    {
        b[i] = i+1;
    }
    //  random(a);
    srand((unsigned)time(NULL));
    int MaxIndex = N;
    for ( i= 0;i<N;i++)
    {
          
    // 
        int index = (int)rand()%MaxIndex;//随机一个 0 - 52的index
        a[i] = b[index];        //随机到的数字给a[i],i from 0 to N-1
        b[index] = b[MaxIndex-1];
        MaxIndex--;
      
    }
        display(a);
    return 0;
}  

标签: isp

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:PHP支持发送HTML格式邮件的发送类

下一篇:C语言编写的ReplaceAll函数