乱序数组和随机数

来源:互联网 发布:淘宝买家无理由退货 编辑:程序博客网 时间:2024/04/29 01:10

乱序数组实现

int Random(int a, int b)

{
    int area=0, ret=0;
    area=b-a+1;
    ret=(int)(rand()*area/(1.0*RAND_MAX)+a);
    return ret;
}
void GetRand(int n, int arr[])
{
    int i;
    int p;
    int tmp;
    for(i=0; i<=n; i++)
         arr[i]=i;
    for(i=n; i>0; i--)
    {
         p=Ramdom(0, i);
         tmp=arr[p];
         arr[p]=arr[i];
         arr[i]=tmp;
    }

}


另一种随机数实现方式

void main(void)
{
    int i;
    unsigned int seedVal;
    struct timeb timeBuf;
    ftime(&timeBuf);
    seedVal=((((unsigned int)timeBuf.time&0xFFFF)+
                (unsigned int)timeBuf.millitm)^
                (unsigned int)timeBuf.millitm);
    srand((unsigned int)seedVal);
    for(i=0;i<10;++i)
        printf("%6d\n",rand());
}


原创粉丝点击