产生随机的排列
产生随机的排列:
permute()函数的功能是:打乱数组的顺序
Random()函数的功能是:产生一个0 —> n-1的随机数
swap()函数的功能是:交换数组里第i个和第j个元素的值
//功能:产生随机的排列
#include <stdio.h>
#include<stdlib.h>
//声明函数
void permute(int array[], int n);
int Random(int n);
void swap(int A[], int i, int j);
//Randomly permute the n values of array
void permute(int array[], int n)
{
for (int i = n; i > 0; i--)
{
swap(array, i - 1, Random(i));
}
}
//Return a random value in rang 0 to n-1
int Random(int n)
{
return rand() % (n);
}
//swap two elements in a generic array
void swap(int A[], int i, int j)
{
int temp = A[i];
A[i] = A[j];
A[j] = temp;
}
int main()
{
int a[10];
int i;
for (i = 0; i < 10; i++)
{
a[i] = Random(i+9);
}
permute(a, 10);
for (i = 0; i < 10; i++)
{
printf("%d\t",a[i]);
}
return 1;
}
作者:涵曦(www.hanxi.cc)
出处:hanxi.cnblogs.com
GitHub:github.com/hanxi
Email:im.hanxi@gmail.com
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
《 Skynet 游戏服务器开发实战》
-
学习地址:
-
优惠推荐码:
2CZ2UA5u
-
可以先免费试学前 2 章内容