zoukankan      html  css  js  c++  java
  • ShuffleElements(随机打乱数组中的元素)

    给定一个数组,随机打乱数组中的元素,题意很简单直接上代码:

    package Array;
    import java.util.Arrays;
    import java.util.Collections;
    import java.util.Random;
    public class ShuffleElements {
    
    	public static void main(String[] args) {
    		int [] array = {1,2,3,4,5};
    		//随机打乱数组中的元素
    		//int [] result = randomizeArray(1,10);
    		  shuffle();
    		//打印数组中的元素
    		//print(result);
    	}
    	
    	/**
    	 * 打印数组中的元素
    	 * @param result
    	 */
    	private static void print(int[] result) {
    		if (result != null && result.length>0) {
    			for (int i = 0;i<result.length;i++) {
    				System.out.print(result[i]+" ");
    			}
    			System.out.println();
    		}
    		
    	}
    
    	/**
    	 * 随机打乱数组中的数字
    	 * @param array
    	 * @return
    	 */
    	public static int[] randomizeArray(int [] array){
    		Random gen = new Random();
    		for (int i=0;i<array.length;i++) {
    			int randomPosition = gen.nextInt(array.length);//生成0-array.length区间的随机数
    			int temp = array[i];
    			array[i] = array[randomPosition];
    			array[randomPosition] = temp;
    		}
    		
    		return array;
    		
    	}
    	
    	/**
    	 * 随机打乱a-b区间的数据
    	 * @param a
    	 * @param b
    	 * @return
    	 */
    	public static int[] randomizeArray(int a,int b){
    		Random rgen = new Random();
    		
    		int size = b-a+1;//数组的大小
    		int [] array = new int[size];
    		for (int i = a;i<size;i++) {
    			array[i] = a+i;
    		}
    		for (int i=0;i<array.length;i++) {
    			int randomPosition = rgen.nextInt(array.length);//生成0-array.length区间的随机数
    			int temp = array[i];
    			array[i] = array[randomPosition];
    			array[randomPosition] = temp;
    		}
    		
    		print(array);
    		return array;
    	}
    	
    	//jdk中的shuffle方法
    	public static void shuffle(){
    		int[] array = new int[]{1,2,3,4,5};
    		Collections.shuffle(Arrays.asList(array));
    		print(array);
    	}
    	
    	
    	
    	
    	
    	
    	
    	
    	
    	
    	
    	
    	
    	
    	
    	
    	
    }
    

      

  • 相关阅读:
    实现停车记录
    Python第四章__装饰器、迭代器
    请问使用jmeter在tcp取样器测试中服务器名称或ip,端口可以填变量值吗?
    [drp 7]转发和重定向的区别
    [drp 6]接口和抽象类的区别,及其应用场景
    MongoDB 3: 使用中的问题,及其应用场景
    MongoDB 2: 安装和使用
    MongoDB 1: NoSQL 和 SQL的区别
    Redis 2:简单使用
    Redis 1:简介
  • 原文地址:https://www.cnblogs.com/airycode/p/7699819.html
Copyright © 2011-2022 走看看