<pre name="code" class="cpp">//将数组A:1~n,随机重排
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
int main(void)
{
int T=100;
while(T--){
int n=3;
int A[n];
for(int i=1;i<=n;i++) A[i]=i;
for(int i=1;i<=n;i++) swap(A[i],A[rand()%(n-i+1)+i]);//重排:A[i]与A[i...n]任一数交换。可生成n!种排列
for(int i=1;i<=n;i++) printf("%d ",A[i]);
putchar('\n');
}
return 0;
}
RANDOMIZE IN PLACE
最新推荐文章于 2020-06-03 01:59:19 发布