「java打乱数组」java打乱数组顺序排列输出所有情况
本篇文章给大家谈谈java打乱数组,以及java打乱数组顺序排列输出所有情况对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java 随机打乱一个数组,不能使用任何的工具包
- 2、java怎么打乱一个由键盘录入规定数组长度以及数据的一维数组并遍历出来?
- 3、java里怎样打乱(洗牌)一个数组
- 4、二维数组打乱顺序 java?
Java 随机打乱一个数组,不能使用任何的工具包
刚刚自己写的方法,可以用
//从第一个数开始,数组每一个数与随机一个位置的数交换值
public static void shuffer(int[] arr){
Random random = new Random();
int length = arr.length;
for (int i = 0; i length; i++) {
int index = random.nextInt(length);
//与随机的位置交换数据
int temp = arr[i];
arr[i] = arr[index];
arr[index] = temp;
}
}
java怎么打乱一个由键盘录入规定数组长度以及数据的一维数组并遍历出来?
首先键盘录入可以用scanner类实现控制台输入,然后打乱数组可以用random类产生随机数来控制输入的数存入随机的数组位置,这个地方要注意随机数不可重复,要控制范围在定义的数组长度内,最后遍历直接一个for循环。
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));//排序后!
}
}
}
//数字或者数量,你可以随意修改,二维数组也可以照用!
二维数组打乱顺序 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;
}
关于java打乱数组和java打乱数组顺序排列输出所有情况的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。