精华内容
下载资源
问答
  • java实现数组随机重新排列

    千次阅读 2017-06-01 13:24:41
    java实现数组随机重新排列 public class RandomSortTest { private int[]arr = {1,2,3,4,5,6,7,8}; private static final int SIZE = 8; Random random = new Random(); @Test //重新排列 public void sort()...

    java实现数组随机重新排列

    public class RandomSortTest {
    	private int[]arr = {1,2,3,4,5,6,7,8};
    	private static final int SIZE = 8;
    	Random random = new Random();
    	@Test
    	//重新排列
    	public void sort(){
    		printArr();
    		for(int i=0;i<SIZE;i++){
    			int p = random.nextInt(i+1);
    			System.out.println("i==="+i+"p==="+p);
    			int tmp = arr[i];
    			arr[i] = arr[p];
    			arr[p] = tmp;
    		}
    		printArr();
    		//1 2 4 8 5 3 7 6 
    		//4 1 8 7 2 6 5 3 
    		//1 8 2 3 5 4 6 7 
    		//5 7 8 3 4 2 6 1
    	}
    	
    	@Test
    	//打印
    	public void printArr(){
    		for(int i=0;i<SIZE;i++){
    			System.out.print(arr[i]+" ");
    		}
    	}
    }

    展开全文
  • 代码如下 复制代码 import java.lang.Math;import java.util.Scanner;class AarrayReverse{ public static void main(String args[]) { int a[]=new int[20]; for(int i=0;i&lt;=15;i++) { Scanner sca=new ...

    例一

    代码如下 复制代码
    import java.lang.Math;
    import java.util.Scanner;
    class AarrayReverse
    {
    public static void main(String args[])
    {
    int a[]=new int[20];
    for(int i=0;i<=15;i++)
    {
    Scanner sca=new Scanner(System.in);
    System.out.println("请输数组元素a["+"]");
    a[i]=sca.nextInt();
    }
    for(int i=0;i<=100;i++)
    {
    int middle=(int)(a.length/2*Math.random());
    int radius=(int)(middle*Math.random());
    int t;
    t=a[middle-radius+1];
    a[middle-radius+1]=a[middle+radius+3];
    a[middle+radius+3]=t;
    }
    for(int i=0;i<a.length;i++)
    System.out.print(a[i]+" ");
    System.out.println();
    }
    }

    当然这里的数组可以自己定义.
    循环的次数越多越好..

    例二

    代码如下 复制代码
    import java.util.Date;
    import java.util.Random;
    /*
    * 随即排列数组,给定一个数组,随即排列其中的元素,目前主要有两种方法
    */
    public class RandomSort {

    public static void main(String args[]){
    int data[]=new int[]{1,42,51,62,8,94,23,13,40,5};
    //int p[]=getRandom(1,-8,100);
    //show(p);
    show(data);
    permuteBySort(data);
    show(data);
    randomizeInPlace(data);
    show(data);
    }

    /*
    * 随机排列数组,使用优先级方式,每个数组元素A[i] 对应一个优先级P[i],
    * 然后依据优先级对数组进行排序
    */
    private static void permuteBySort(int[] data)
    {
    int l(www.111cn.net)en=data.length;
    int len3=len*len*len;
    int P[]=getRandom(1,len3,len);

    //冒泡排序
    for(int i=len-1; i>0; i--)
    {
    for(int j=0; j<i ; j++)
    {
    if(P[j]>P[j+1])
    {
    int temp=data[j];
    data[j]=data[j+1];
    data[j+1]=temp;

    temp=P[j];
    P[j]=P[j+1];
    P[j+1]=temp;
    }
    }
    }
    }
    /*
    * 元素A[i]是从 元素A[i]到A[n]中随机选取的
    */
    private static void randomizeInPlace(int[] data)
    {
    Date dt=new Date();
    Random random=new Random(dt.getSeconds());
    int len=data.length;
    for(int i=0; i<len; i++)
    {
    int pos=(int)(random.nextDouble()*(len-i+1)+i)-1;
    int temp=data[i];
    data[i]=data[pos];
    data[pos]=temp;
    }
    }

    /*
    * 获得在a到b之间的n个随机数
    */
    private static int[] getRandom(int a,int b,int n)
    {
    if(a>b)
    {
    int temp=a;
    a=b;
    b=temp;
    }

    Date dt=new Date();
    Random random=new Random(dt.getSeconds());
    int res[]=new int[n];
    for(int i=0; i<n; i++)
    {
    res[i]=(int)(random.nextDouble()*(Math.abs(b-a)+1))+a;
    }
    return res;
    }


    private static void show(int[] data)
    {
    System.out.println("========================");
    for(int i = 0; i < data.length; i++)
    {
    System.out.print(data[i] + " ");
    }
    System.out.println();
    System.out.println("========================");
    }
    }

    from:http://www.111cn.net/jsp/Java/40825.htm

    展开全文
  • Java中的数组随机排序

    千次阅读 2019-06-02 12:04:17
    零、码仙励志 没有做不成的事情,只有做不成事情的人 一、代码 ... * 随机排序 */ public class ArrayUtils { private static Random rand = new Random(); public static <T> vo...

    零、码仙励志

    没有做不成的事情,只有做不成事情的人

    一、代码

    import java.util.Arrays;
    import java.util.Random;
    
    /**
     * 随机排序
     */
    public class ArrayUtils {
    	private static Random rand = new Random();
    
    	public static <T> void swap(T[] a, int i, int j) {
    		T temp = a[i];
    		a[i] = a[j];
    		a[j] = temp;
    	}
    
    	public static <T> void shuffle(T[] arr) {
    		int length = arr.length;
    		for (int i = length; i > 0; i--) {
    			int randInd = rand.nextInt(i);
    			swap(arr, randInd, i - 1);
    		}
    	}
    
    	public static void main(String[] args) {
    		String[] arr = { "码仙1", "码仙2", "码仙3", "码仙4", "码仙5", "码仙6", "码仙7", "码仙8" };
    		shuffle(arr);
    		System.out.println(Arrays.toString(arr));
    	}
    }

    二、运行结果

    [码仙2, 码仙6, 码仙5, 码仙1, 码仙7, 码仙8, 码仙3, 码仙4]

    展开全文
  • 本文实例讲述了javascript数组随机排序实现方法。分享给大家供大家参考。具体如下: 我们就测试0-9的随机排序,先生成数据 var arr=[9,3,1,2,5,8,4,7,6,0]; arr.sort(); [removed]("正常排序后的数组元素:"+arr....
  • 今天在看《java从入门到精通的》的时候,看到了数组这一块,其中有道题让分别以冒泡排序和乱序排序的形式实现数组排序,后来自己动手敲了下,话不多说,直接上代码: /* * @Author: * @Description: 乱序...

    这是本人的第一篇博客,如果有问题希望大家多多指正,谢谢。

    今天在看《java从入门到精通的》的时候,看到了数组这一块,其中有道题让分别以冒泡排序和乱序排序的形式实现对数组排序,后来自己动手敲了下,话不多说,直接上代码:
     

    /*
         * @Author: 
         * @Description: 乱序排序
         * @Date: 2019/5/22
         * @Param: []
         * @return: void
         **/
        public static void disOrderSort(){
            //定义数组
            int[] arr = null;
            Random random = new Random();
            //动态获取数组长度
            arr = new int[random.nextInt(10)];
            //给数组赋值
            for (int i = 0; i < arr.length; i++) {
                arr[i] = random.nextInt(100);
            }
            //输出排序前的数组
            System.out.println("排序前的数组顺序为:");
            printArr(arr);
            //对数组进行乱序排序
            for (int i = 0; i < arr.length; i++) {
                //使用random随机产生一个数组下标,范围在0-arr.length-1;
                int flag = random.nextInt(arr.length);
                //替换位置
                int temp = arr[i];
                arr[i] = arr[flag];
                arr[flag] = temp;
            }
            //输出排序后的数组
            System.out.println("排序后的数组顺序为:");
            printArr(arr);
        }
    
        /*
         * @Author: 
         * @Description:数组排序,第一种:冒泡排序
         * @Date: 2019/5/22
         * @Param: []
         * @return: void
         **/
        public static void arrToBubbleSort(){
            //定义数组
            int[] arr = null;
            Random random = new Random();
            //数组长度
            arr = new int[random.nextInt(10)];
            //数组赋值
            for (int i = 0; i < arr.length; i++) {
                arr[i] = random.nextInt(100);
            }
            //输出排序前的数组
            System.out.println("排序前的数组顺序为:");
            printArr(arr);
            //用冒泡排序法对数组排序
            for (int i = 0; i < arr.length-1; i++) {
                for (int j = 0; j < arr.length-i-1; j++) {
                    if(arr[j] > arr[j+1]){
                        //元素互换位置
                        int temp = arr[j];
                        arr[j] = arr[j+1];
                        arr[j+1] = temp;
                    }
                }
            }
            //输出排序后的数组
            System.out.println("排序后的数组顺序为:");
            printArr(arr);
        }
    
        /*
         * @Author: 
         * @Description: 打印数组
         * @Date: 2019/5/22
         * @Param: [arr]
         * @return: void
         **/
        public static void printArr(int[] arr){
            for (int eachArr: arr) {
                System.out.print(eachArr+" ");
            }
            //换行
            System.out.println("");
        }

    结果如下:

    //冒泡排序:
    
    排序前的数组顺序为:
    82 41 58 26 1 69 53 
    排序后的数组顺序为:
    1 26 41 53 58 69 82 
    
    //乱序排序
    
    排序前的数组顺序为:
    95 51 81 25 69 77 12 17 28 
    排序后的数组顺序为:
    81 95 69 77 12 25 17 51 28 

    以上便是个人的思路,如果有问题欢迎大家提出。

    展开全文
  • Java随机数组和已排序随机数组绘图.pdf
  • 快速排序  它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别...3.递归实现快速排序,通过递归给每一个...
  • lua 数组随机排序

    2020-02-12 10:47:09
    打乱有序数组,产生随机数组 function randomTable(_table, _num) -- _table:需要随机的表(有序的),_num:随机个数,默认全部随机 local _result = {} local _index = 1 local _num = _num or #_table while #_...
  • 数组随机排序

    2016-03-23 08:53:12
    随机排序 Array.prototype.shuffle = function() { var input = this; for (var i = input.length-1; i >=0; i--) { var randomIndex = Math.floor(Math.random()*(i+1)); var itemAtIndex
  • 前言:尽管在实际开发中,我们通过Arrays工具类就可以便利地...主题:数组排序和查找 1、冒泡法排序: 需求:将数组 int arr = {2,4,11,0,-4,333,90} 通过冒泡法进行排序,下面以升序排列进行分析。 ① ...
  • Java实现数组的乱序

    千次阅读 2018-01-24 22:13:58
    java实现数组的乱序,每个元素的位置都与原位置不一样: package pattern.com.sort; import java.util.Random; public class RandomSort { public static void main(String[] args) { int[] arr = {1,2,3,...
  • Java中如何随机打乱数组排序? 一维数组,针对每一个数组元素arr[ i ],随机产生一个下标j,然后交换 arr[ i ] 和arr[ j ],二维数组随机产生 针对每一个元素arr[ p ][ q ],随机产生m,n,然后交换arr[ p ][ q ]...
  • JAVA\数组排序JAVA语言实现随机数的输入以及数组排序JAVA 随机数 数组排序
  • Java数组随机

    千次阅读 2012-09-20 09:49:43
    * 随即排列数组,给定一个数组,随即排列其中的元素,目前主要有两种方法 */ public class Main { public static void main(String args[]){ int data[]=new int[]{1,42,51,62,8,94,23,13,
  • public static void main(String args[])...//该方法的作用是生成一个随机的int值,该值介于[0,n)的区间 int tmp = Arr[i]; Arr[i]=Arr[p]; Arr[p]=tmp; } for (int i:Arr ) { System.out.println(i+""); } }
  • 数组的常见概念 数组名 下标(或索引) 元素 数组的长度数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括 基本数据类型和引用数据类型。 创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用...
  • 选择排序 假设数组为int[] a = { 49, 38, 65, 97, 76, 13, 27 },数组元素个数为7个。 第1轮比较:先是a[0]与a[1]比较,大于则先交换,再比较a[0]和a[2]…最后是a[0]与a[6]比较。总共比较6次。(此时a[0]已是数组中...
  • JAVA数组去重排序

    千次阅读 2018-07-31 15:33:53
    //排序后的数组 } /* * 数组去重 */ for(int i=0;i;i++) { if(arr[i]==arr[i+1]) { for(int j=i+1;j;j++) arr[j]=arr[j+1]; } } System.out.println(); for(int i=0;i;i++) { if(i>0&&arr[i-1]=...
  • Java对象数组排序

    千次阅读 2013-06-15 19:35:12
    数组排序:  1, 数组的元素 是 基本类型, 直接使用 Arrays.sort(arr) 即可 ;   2, 数组的元素 是 引用类型, 则需要让元素 具备可比性; 原理: 数组工具类Arrays 的 sort 方法, 比较元素的大小, 会调用...
  • 定义长度为10的int数组随机生成10个1-100之间不重复的数字 利用冒泡排序或者选择排序,对数组中的元素按照从大到小的顺序排列 打印排序后的数组内容,格式:10,9,8,…1 import java.util.Random; public ...
  • Java中时间数组排序问题

    千次阅读 2019-03-27 17:16:57
    Java中时间数组排序问题 有一道习题: 准备一个长度是9的日期数组 使用1970年-2000年之间的随机日期初始化该数组 按照这些日期的时间进行升序排序 比如 1988-1-21 12:33:22 就会排在 1978-4-21 19:07:23 前面 ...
  • java中二维数组排序

    千次阅读 2019-03-14 17:26:00
    参考思路:先把二维数组使用System.arraycopy进行数组复制到一个一维数组然后使用sort进行排序最后再复制回到二维数组。关于随机数0-100的 随机整数的获取办法有多种,下面是参考办法之一: import java.util....
  • 新手小白学JAVA 数组 数组工具类 二维数组

    万次阅读 多人点赞 2021-04-02 08:28:55
    1 数组 1.1 概念 数组Array,标志是[ ] ,用于储存多个相同类型数据的集合 想要获取数组中的元素值,可以通过脚标(下标)来获取 数组下标是从0开始的,下标的最大值是数组的长度减1 1.2 创建数组 数组的创建方式一般...
  • Java写的数组选择排序

    2009-03-30 20:35:03
    数组为例.引用数据类型作为方法的参数和返回值,传递引用.将随机产生的数保存在数组中,然后进行选择排序
  • Java打乱数组排序(洗牌算法)

    千次阅读 2019-10-10 10:36:36
    Java打乱数组排序(洗牌算法) 给定一个数组,要求把数组内元素的顺序随机打乱,然后输出,主要是要保证效率。 这其实是个洗牌算法,首先从所有元素中随机选取一个与第一个元素进行交换,然后在第二个之后选择一个...
  • Java数组排序实现

    千次阅读 2019-03-31 16:49:36
    文章目录自然升序排序自然降序排序数组倒置随机排序 自然升序排序 使用Arrays类:其中的sort()使用的是“经过调优的快速排序法” String[] data = {"1", "4", "3", "2"}; System.out.println(Arrays.toString...
  • java数组的冒泡,选择,插入,快速,归并排序实现。 1.冒泡排序 实现思路:第一层循环表示循环的次数,即数组的长度 第二层循环中比较最两个左边两个数大小,右边大则交换,右边小则不动。 核心代码块 public ...
  • Java随机数组进行冒泡排序

    千次阅读 2019-04-12 12:40:27
    Java随机数组进行冒泡排序 public static void main(String[] args) { /* * 1声明整形数组arr,包含10个元素 * 每个元素为0到99随机数,输出每个元素 * 2冒泡对arr进行升序排序 * 3遍历arr输出每个元素的值 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 72,929
精华内容 29,171
关键字:

java实现数组的随机排序

java 订阅