精华内容
下载资源
问答
  • 已经成为了我们常用的网站编程语言,并且结合了C语言,Java等我们常见的编程语言,所以,有很多web开发领域的新人都看中了他的使用广泛性,有很多人都想了解php的内容,所以今天,我们就来讲讲PHP打乱数组顺序的方法...

    【摘要】PHP作为一种超文本预处理器,已经成为了我们常用的网站编程语言,并且结合了C语言,Java等我们常见的编程语言,所以,有很多web开发领域的新人都看中了他的使用广泛性,有很多人都想了解php的内容,所以今天,我们就来讲讲PHP打乱数组顺序的方法。

    shuffle() 函数用来随机打乱数组元素的顺序,其语法如下:

    bool shuffle ( array &$arr )

    参数 arr 表示一个数组。

    shuffle() 函数调用结束后, arr 数组元素的顺序会被打乱。

    返回值:成功时返回 TRUE,失败时返回 FALSE。

    d22071ff61af7fe91438d148779fe1d1.png

    PHP打乱数组顺序的方法的使用示例如下:

    $info = array(

    "url" => "http://c.biancheng.net/php/",

    "language" => "PHP",

    "update" => "2019-10-29",

    "author" => "changsheng yan"

    );

    $num = array(20, 45, 8, 203, 3, 139, 48);

    shuffle($info);

    print_r($info);

    shuffle($num);

    print_r($num);

    ?>

    执行以上PHP打乱数组顺序的方法程序的结果为:

    展开全文
  • js代码-js打乱数组顺序
  • 主要介绍了JAVA随机打乱数组顺序的方法,包含了随机数的应用及数组的排序等操作,是Java操作数组的典型应用,需要的朋友可以参考下
  • 已经成为了我们常用的网站编程语言,并且结合了C语言,Java等我们常见的编程语言,所以,有很多web开发领域的新人都看中了他的使用广泛性,有很多人都想了解php的内容,所以今天,我们就来讲讲PHP打乱数组顺序的方法...

    【摘要】PHP作为一种超文本预处理器,已经成为了我们常用的网站编程语言,并且结合了C语言,Java等我们常见的编程语言,所以,有很多web开发领域的新人都看中了他的使用广泛性,有很多人都想了解php的内容,所以今天,我们就来讲讲PHP打乱数组顺序的方法。

    shuffle() 函数用来随机打乱数组元素的顺序,其语法如下:

    bool shuffle ( array &$arr )

    参数 arr 表示一个数组。

    shuffle() 函数调用结束后, arr 数组元素的顺序会被打乱。

    返回值:成功时返回 TRUE,失败时返回 FALSE。

    d22071ff61af7fe91438d148779fe1d1.png

    PHP打乱数组顺序的方法的使用示例如下:

    $info = array(

    "url" => "http://c.biancheng.net/php/",

    "language" => "PHP",

    "update" => "2019-10-29",

    "author" => "changsheng yan"

    );

    $num = array(20, 45, 8, 203, 3, 139, 48);

    shuffle($info);

    print_r($info);

    shuffle($num);

    print_r($num);

    ?>

    执行以上PHP打乱数组顺序的方法程序的结果为:

    Array

    (

    [0] => changsheng yan

    [1] => http://c.biancheng.net/php/

    [2] => 2019-10-29

    [3] => PHP

    )

    Array

    (

    [0] => 8

    [1] => 139

    [2] => 45

    [3] => 3

    [4] => 20

    [5] => 203

    [6] => 48

    )

    注意:因为是随机打乱,所以每次的执行结果会不一样。

    以上就是有关于PHP打乱数组顺序的方法的相关内容了,作为一种超文本预处理器的常用语言,我相信已经有越来越多的人看到了他的价值,所以在个栏目里,小编会尽可能多的为大家分享有关于PHP的相关知识,当然,环球网校的小编也要在此祝大家的PHP学习之路顺利。

    展开全文
  • java打乱数组顺序

    万次阅读 2017-03-27 15:51:55
    java打乱数组顺序

    • import java.util.*;  
    •   
    • public class ShuffleTest {  
    •     public static void main(String[] args) {  
    •         List<Integer> list = new ArrayList<Integer>();  
    •         for (int i = 0; i < 10; i++)  
    •             list.add(new Integer(i));  
    •         System.out.println("打乱前:");  
    •         System.out.println(list);  
    •   
    •         for (int i = 0; i < 5; i++) {  
    •             System.out.println("第" + i + "次打乱:");  
    •             Collections.shuffle(list);  
    •             System.out.println(list);  
    •         }  
    •     }  

    • 参考:http://blog.csdn.net/zzqkillyou/article/details/7388690

      游戏中遇到这样的问题,需要将一组已知的数据打乱,按照以前和现在的做法,总结了以下方法。

      方法一,最笨的菜鸟方法,也是容易想到的(幸好我没想过这种方法 :))

      从已知数组中随机一个数,然后加入到另一个数组中,在加入之前,先检查是否已经加入过。

      这种方法有很大运气成分,且数据越大,效率越低,超过一定数目,则程序几乎无法执行,会一直卡在那里,代码:

      1. package com.test;  
      2.   
      3. import java.util.Random;  
      4.   
      5.   
      6. public class TestArray {  
      7.  public static int runCount =0;//用于记录方法运算次数  
      8.    
      9.  public int []  m1(int [] arr){  
      10.   Random ran = new Random();  
      11.   int length = arr.length;  
      12.   int [] newArr = new int[length];  
      13.   int count =0;  
      14.   while (true) {  
      15.    runCount ++;  
      16.    int r = ran.nextInt(length)+1;  
      17.    if(!exist(r, newArr)){  
      18.     newArr [count] = r;  
      19.     count++;  
      20.    }  
      21.    if(count==length){  
      22.     break;  
      23.    }  
      24.   }  
      25.   System.out.println("m1 运算次数  = "+runCount);  
      26.   return newArr;  
      27.  }  
      28.    
      29.  public static boolean exist(int a,int [] arr){  
      30.   for (int i = 0; i < arr.length; i++) {  
      31.    if(arr[i] ==a){  
      32.     return true;  
      33.    }  
      34.   }  
      35.   return false;  
      36.  }  


       

      方法二,这种方法是我遇到这个问题就想到的,思路就是:先随机出已知数组的下标值,然后取出这个数放到另一个数组中,再从已知数组中删除这个数。这种方法的运算次数是根据数组长度而定的,缺点是 大部分运算都耗在删除的判断上,主要是因为 数组不像list那样,能删除一个指定位置的值。代码:

      1. //-----------------------------------------------  
      2. public int []  m2(int [] arr){  
      3.  Random ran = new Random();  
      4.  int [] newArr = new int[arr.length];  
      5.  int k = 0;  
      6.  while (arr.length>0) {  
      7.   runCount++;  
      8.   int index = ran.nextInt(arr.length);//随即数组下标  
      9.   newArr[k++] = arr[index];  
      10.   arr = removeElement(arr[index], arr);  
      11.  }  
      12.  System.out.println("m2运算次数  = "+runCount);  
      13.  return newArr;  
      14. }  
      15.   
      16. public int [] removeElement(int ele,int [] arr){  
      17.  int [] arr2 =new int[arr.length-1];  
      18.  int k = 0;  
      19.  for (int i = 0; i < arr.length; i++) {  
      20.   runCount++;  
      21.   if(arr[i]!=ele){  
      22.    arr2[k++] = arr[i];  
      23.   }  
      24.  }  
      25.  return arr2;  
      26. }  


       方法三, 这种方法就很巧妙了,是在c 的代码中看到,翻译成了Java代码,它的巧妙在于:每次从已知数组随机一个数,然后将数组的最后一个值 赋值给前面随机到的数的位置上,然后将长度-1,再从原数组下标-1的数组中随机。 运算次数就是数组长度,这种方法真的很聪明啊,以下是代码:

      1. //-----------------------------------------------  
      2. public int []  m3(int [] arr) {  
      3.  int [] arr2 =new int[arr.length];  
      4.  int count = arr.length;  
      5.  int cbRandCount = 0;// 索引  
      6.  int cbPosition = 0;// 位置  
      7.  int k =0;  
      8.  do {  
      9.   runCount++;  
      10.   Random rand = new Random();  
      11.   int r = count - cbRandCount;  
      12.   cbPosition = rand.nextInt(r);   
      13.   arr2[k++] = arr[cbPosition];  
      14.   cbRandCount++;  
      15.   arr[cbPosition] = arr[r - 1];// 将最后一位数值赋值给已经被使用的cbPosition  
      16.  } while (cbRandCount < count);  
      17.  System.out.println("m3运算次数  = "+runCount);  
      18.  return arr2;  
      19. }  


      测试下代码:

      1. // ----------------------------------------------  
      2.   
      3. public static void main(String[] args) {  
      4.     int[] arr = new int[10];  
      5.     for (int i = 0; i < arr.length; i++) {  
      6.         arr[i] = i + 1;  
      7.     }  
      8.     TestArray t = new TestArray();  
      9.     arr = t.m1(arr);  
      10.     print(arr);  
      11.     arr = t.m2(arr);  
      12.     print(arr);  
      13.     arr = t.m3(arr);  
      14.     print(arr);  
      15. }  
      16.   
      17. public static void print(int[] arr) {  
      18.     for (int i = 0; i < arr.length; i++) {  
      19.         System.out.print(arr[i] + " ");  
      20.     }  
      21.     System.out.println();  
      22.     runCount = 0;  
      23. }  


      结果:

      1. m1 运算次数  = 51  
      2. 3 10 2 1 5 9 6 8 4 7   
      3. m2运算次数  = 65  
      4. 1 3 8 2 10 5 9 6 7 4   
      5. m3运算次数  = 10  
      6. 10 7 8 3 1 5 6 9 2 4   


      第三种方法还是值得学习的,大家如果有其它好的方法和思路欢迎补充~~


    展开全文
  • 今天小编就为大家分享一篇对Python random模块打乱数组顺序的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了JavaScript随机打乱数组顺序之随机洗牌算法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • jquery打乱数组顺序

    2020-05-31 23:21:31
    // 打乱数组顺序 function update_sort(testArray){ if (!Array.prototype.derangedArray) { Array.prototype.derangedArray = function() { for(var j, x, i = this.length; i; j = parseInt(Math.random...
    	// 打乱数组顺序
    	function update_sort(testArray){
       
    		if (!Array.prototype.derangedArray) {
       
    		    Array.prototype.derangedArray = function() 
    展开全文
  • 打乱数组顺序的三种方法

    万次阅读 热门讨论 2018-03-16 11:20:12
    sort排序法(最简单的打乱数组顺序的方法) 原理: 利用sort用法:arr.sort(compareFunction) 如果 compareFunction(a,b) 返回的值大于 0 ,则 b 在 a 的前边; 如果 compareFunction(a,b) 返回的值...
  • php打乱数组顺序(含二维数组)

    千次阅读 2020-11-25 15:05:58
    最近在做一个考试小程序的Api接口,其中一个是需要将试题列表打乱顺序,都知道,从数据库搜索出来的列表通常为数组的形式,所以我面临的问题就变成了 如何打乱数组顺序。 随手一百度,shuffle()函数 :把片段中的...
  • JS打乱数组顺序

    2016-11-25 15:35:48
    /*打乱数组顺序*/ var tempArray = [0,1,2,3,4]; tempArray.sort(function(a,b){ /*用Math.random()函数生成0~1之间的随机数与0.5比较,返回-1或1*/ return Math.random()>0.5 ...
  • random.shuffle()随机打乱数组顺序

    千次阅读 2018-12-16 22:26:43
    random.shuffle()函数可以随机打乱数组顺序 import random random.shuffle(x1)  
  • JS 打乱数组顺序

    2019-10-01 21:59:45
    //每一次的遍历都相当于把从数组中随机抽取(不重复)的一个元素放到数组的最后面(索引顺序为:len-1,len-2,len-3......0) return arr; }   转载于:https://www.cnblogs.com/YAN-HUA/p/9430326.html
  • 随机打乱数组顺序

    2019-07-18 18:27:17
    function randomsort(a, b) { return Math.random() > .5 ? -1 : 1; } this.questionArray.sort(randomsort)
  • C#打乱数组顺序

    千次阅读 2018-11-15 11:49:49
    //随机打算int数组 public int[] GetRandomNum(int[] num) { for (int i = 0; i &lt; num.Length; i++) { int temp = num[i]; int randomIndex = Random.Range(0, num.Length...
  • Python random模块打乱数组顺序

    万次阅读 2017-02-16 13:33:38
    在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的数组。功能主要由python中random模块的sample()函数实现。sample...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,224
精华内容 9,289
关键字:

怎么打乱数组顺序