将一组数据中的元素打乱,可以当成洗牌的算法,也可以用去实现拼图游戏当中随机位置的产生
2014-12-05 18:08
351 查看
main{
for (int i =
0; i <16; i++) {
a[i] = i;
}
random(a,
16);
for(int i =0; i<
16;i++){
log("第%d=%d",i,a[i]);
}
}
void
HelloWorld::random(int a[],
int n)
{
int index, tmp, i;
srand(time(NULL));
for(i=0; i<n; i++)
{
index=rand()%(n-i)+i;
if(index!=i)
{
tmp=a[i];
a[i]=a[index];
a[index]=tmp;
}
}
}
for (int i =
0; i <16; i++) {
a[i] = i;
}
random(a,
16);
for(int i =0; i<
16;i++){
log("第%d=%d",i,a[i]);
}
}
void
HelloWorld::random(int a[],
int n)
{
int index, tmp, i;
srand(time(NULL));
for(i=0; i<n; i++)
{
index=rand()%(n-i)+i;
if(index!=i)
{
tmp=a[i];
a[i]=a[index];
a[index]=tmp;
}
}
}
相关文章推荐
- C#List随机交换取数据(C#实现的洗牌算法)
- 百度2014校园招聘算法——给出一组数据A=[a_0, a_1, a-2, ... a_n](当中n可变),打印出该数值元素的全部组合。
- C#List随机交换取数据(C#实现的洗牌算法)
- 【DAY.9】php随机打乱数组顺序(洗牌算法实现)
- 洗牌算法:随机打乱一组数
- 随机打乱一组数据(算法)
- 设计实现mini_vector中的插入和删除算法,要求在指定位置插入、删除元素
- 元素位置【算法】插入排序的递归实现
- 由计算机产生0-9之间的随机整数,用户输入猜测的数据,统计用户猜测的次数。产生随机数可以使用Math.rangom()静态方法,该方法返回正的double类型浮点数位于(0.0 1.0】间。
- 洗牌算法:随机打乱一个数组的顺序
- 请编程实现:产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复(百度了一下,get一种高性能算法,非递归)
- 百度2014校园招聘算法——给出一组数据A=[a_0, a_1, a-2, ... a_n](其中n可变),打印出该数值元素的所有组合。
- 产生一个不重复的随机数组(元素各不相同的随机数组)的算法
- 一组连续的数据,打乱次序后,随机取出某一个数字,用最简单的方法查找出取出的数字(求解)
- 实现了一个压缩算法,在数据高度压缩的前提下,还可以快速查找 key
- 设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性
- 编写算法实现建立一个带头结点的含n个元素的双向循环链表H,并在链表H中的第i个位置插入一个元素e
- 一个洗牌程序算法,随机交换位置 【转】
- 洗牌算法:随机打乱一个数组的顺序
- 一个洗牌程序算法,随机交换位置【经典】