以随机顺序对列进行重新排序

辐照猫

我正在尝试对2d数组的列进行随机重新排序,到目前为止,它无法正常工作。如果有人可以帮助我展示我需要进行哪些更改才能使其正常工作,我将非常感激。当前列的顺序为1到6,但我正在尝试将顺序随机化。

package assignment8;

/**
 *
 * @author kozit015
 */
import java.util.Arrays;
import java.util.Random;
public class Assignment8 {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {

}public static void jackknife(){
    int[]a= {1, 1, 0, 1, 0, 0};
    int[]b= {0, 0, 1, 0, 1, 1};
    int[]c= {1, 1, 1, 1, 1, 1};
    int[]d= {0, 0, 0, 0, 1, 1};
    int[] newArray = new int[a.length + b.length + c.length]; 
    System.arrayCopy(a, 0, newArray, 0, a.length);
    System.arrayCopy(b, 0, newArray, a.length, b.length);
    System.arrayCopy(c, 0, newArray, a.length + b.length, c.length);

    shuffleArray(arrayCopy);
     for (int i = 0; i < arrayCopy.length; i++)
{
     System.out.print(arrayCopy[i] + " ");
}


    int newArray2d[][] = new int[5][4]; 
    for(int i=0; i<5;i++)
      for(int j=0;j<4;j++)
        newArray2d[i][j] = array1d[(j*10) + i]; 



}static void shuffleArray(int[] ar){

    Random rnd = new Random();
    for (int i = ar.length - 1; i > 0; i--)
    {
      int index = rnd.nextInt(i + 1);

      int a = ar[index];
      ar[index] = ar[i];
      ar[i] = a;
   }

}
}

用户名

如果将数组作为2D数组进行处理,则更好,然后可以使用循环对其进行混洗

int[][] myArray = { {1,2,3}, {4,5,6}, {7,8,9} };

拥有2D数组后,您可以使用循环进行混洗,而不是手动进行混洗。

Random rnd = new Random();

//shuffle rows/cols
for(int x=0; x<myArray.length; x++)
{
   int idx = rnd.nextInt(myArray.length);
   if(idx != x){
       int[] temp = myArray[x];
       myArray[x] = myArray[idx];
       myArray[idx] = temp;
   }
}

测试代码:

for(int x=0; x<myArray.length; x++){
    for(int y=0; y<myArray[0].length; y++)
        System.out.print(myArray[x][y]);
    System.out.println("");
}

输出:

4 5 6
7 8 9
1 2 3

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

以随机顺序对arraylist进行排序

按字母顺序对TableView进行重新排序

FastObjectListView UpdateObject()随机对主要排序中的行进行重新排序

首先按固定顺序的子组对data.frame列进行重新排序,然后按字母顺序在每个子组内重新排序

缩小时对嵌套的列顺序进行排序

按字母顺序对列的值进行排序

如何基于具有相同列但顺序不同的另一个数据框对列进行重新排序

如何在对值进行排序的同时对关系的顺序进行随机排序?

Excel使用列表对列进行重新排序

Python:对csv文件的列进行重新排序

重新对各行的Bootstrap 3列进行排序

使用Excel公式对列进行排序和重新排序

使用重新排序对 ggplot 列进行排序不起作用

如何按日期顺序对我的 df 中的列重新排序

使用 Pandas 根据特定顺序对重复的列重新排序

更改行的排序顺序后如何重新排列“排序顺序”列

根据多列进行perl排序(列顺序)

在保持B列顺序的同时对B列进行排序

以随机顺序对数组排序

根据列均值对数据框的列进行重新排序

如何在熊猫中按顺序对多列进行排序

按数字顺序对包含文本和数字的列进行排序

根据顺序对列进行排序后获取最新记录

按特定顺序对Pandas DataFrame中的列进行排序

如何按指定顺序对熊猫列进行排序?

Laravel Eloquent - 按数组顺序按列对集合进行排序

用不同的顺序对两列的Spark Dataframe进行排序

在R中按日历顺序对日期列进行排序

在列中按字母顺序对字符进行排序?