特定の順序付けられた配列の値を 0 から n まで混合する関数を作成しようとしています。だからこれは私の試みです:
void JumbleUp(int *sorted,int n){
int jumble[n];
bool mark[n];
for(int i=0;i<n;i++)
mark[i]=false;
int aux=0;
srand(time(NULL));
for(int i=0;i<n;i++){
do {
aux=(rand()%n);
}while (mark[aux]);
jumble[i]=sorted[aux];
mark[aux]=true;
}
問題は、この関数は時間がかかるため、大きな整数に対しては機能しないことです。では、機能を改善するために何ができるか、または配列をごちゃ混ぜにするために使用できる他の代替手段は何ですか。