【C語言】採用隨機數進行小組亂序排序

GroupNum定義的是小組個數,比如示例程序中,小組個數是9個,分別爲第1組,第2組…
採用生成兩個0~GroupNum-1的隨機數,然後互換數組中的兩個數字,達到亂序的目的。
使用時間初始化隨機數種子。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define GroupNum 9

int group[GroupNum]={0};

void swap(int *a,int *b)
{
    int temp;
    temp=*a;
    *a=*b;
    *b=temp;
}

int main(){
    int i,randnum1,randnum2;

    srand((unsigned)time(NULL));
    for(i=0;i<GroupNum;i++)
    {
        group[i]=i+1;
        printf("%d  ",group[i]);
    }

    printf("\n\r\n\r");
    for(i=0;i<1000;i++)
    {
        randnum1=rand()%GroupNum;
        randnum2=rand()%GroupNum;
        swap(&group[randnum1],&group[randnum2]);
    }
    for(i=0;i<GroupNum;i++)
        printf("%2d: %d 組\n\r",i+1,group[i]);

    printf("\n\r\n\r");
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章