
正文
java打乱数组代码 打乱数组js
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
二维数组打乱顺序 java?
用C++给你做了,思路一样,生成两个随机的下标做交换。
#include "stdafx.h"
#include iostream
#include algorithm
#include time.h
using namespace std;
void swapxy(int*p, int*q);
int main()
{
int a[16] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 };
srand((unsigned int)time(NULL));
for (int i = 0;i 16;i++)
{
int x = rand() % 16;
int y = rand() % 16;
swapxy(a + x, a + y);
}
for (int i = 0;i 16;i++)
cout a[i] " ";
cout endl;
system("pause");
return 0;
}
void swapxy(int*p, int*q)
{
int temp;
temp = *p;
*p = *q;
*q = temp;
}
相关问答
Q1: java 如何用math.random打乱数组里的所有元素
public class Main {
/**
* 比如这样的数组{"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"
* }
*
* 只用math.random不能导入别的包或者用list 不是实际打乱数组里面的元素顺序,是“打印”出全部13个元素,要求随机顺序, 不按照
* "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K",
* "A"这个顺序打印出来就好
*
* 麻烦贴一下代码 一段就好
*
* @param args
*/
public static void main(String[] args) {
String[] cards = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J",
"Q", "K", "A" };
String[] cards_put = new String[13];
boolean falg = true;
int count = 0;
for (int i = 0; i cards.length; i++) {
if (cards.length - i - 1 == 0) {//最后一张牌 无需随机
System.out.println(cards[0]);//输出最后一张牌
} else {//不是最后一张牌 还需随机选择
int index = (int) (Math.random() * 100)
% (cards.length - i - 1);
System.out.println(cards[index] + " index==" + index);//输出随机选到的牌
for (int j = index; j cards.length - (i + 1); j++) {//数组出掉的牌 放到后面 不再操作
cards[j] = cards[j + 1];
}
}
}
}
}
Q2: java【不用list】如何将数组元素顺序打乱
public class RandomNumber {
public static void main(String[] args) {
String[] cards = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };
for (int i = 0; i 10; i++) {
int firstIndex = (int) (Math.random() * Math.round(cards.length));
int secondIndex = (int)(Math.random() * Math.round(cards.length));
if (firstIndex == secondIndex)
continue;
String temp = cards[firstIndex];
cards[firstIndex]=cards[secondIndex];
cards[secondIndex]=temp;
}
for(String s:cards)
System.out.println(s);
}
}
//望采纳java打乱数组代码,谢谢
Q3: java里怎样打乱(洗牌)一个数组
//给你个思路:给要给随机值,该随机值在索引范围内,然后从索引值里面取元素,在该元素对应
//的位置,进行二次随机取其他元素,然后进行交换,就可以了!
//还有更简单的办法,java早就想到了这一点,在集合工具里面就提供该方法,其实他内部也是
//这样的思路,用随机值进行交换!
import java.util.*;
public class ArrayListTest {
public static void main(String[] args) {
Integer[] arr=new Integer[10];
for (int i = 0; i arr.length; i++) {
arr[i]=i+1;
}
System.out.println("\n原序:"+Arrays.toString(arr)+"\n");//原数组!
ListInteger list=Arrays.asList(arr);//借用集合帮忙排序!
for(Integer a:list) {
Collections.shuffle(list);//随机排序!
System.out.println("随机:"+Arrays.toString(arr));//排序后!
}
}
}
//数字或者数量,你可以随意修改,二维数组也可以照用!
Q4: java怎么打乱一个由键盘录入规定数组长度以及数据的一维数组并遍历出来?
首先键盘录入可以用scanner类实现控制台输入java打乱数组代码,然后打乱数组可以用random类产生随机数来控制输入java打乱数组代码的数存入随机的数组位置,这个地方要注意随机数不可重复,要控制范围在定义的数组长度内,最后遍历直接一个for循环。
java打乱数组代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于打乱数组js、java打乱数组代码的信息别忘了在本站进行查找喔。







