java编写程序,定义一个2行10列的数组,将数组第一行的数据从小到大排列,第二行数据从大到

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java编写程序,定义一个2行10列的数组,将数组第一行的数据从小到大排列,第二行数据从大到相关的知识,希望对你有一定的参考价值。

public static void main(String[] args)
final int row = 2;
final int col = 10;
int[][] a = new int[row][col];
// 建一个用时间做种子的随机器
Random rand = new Random(System.nanoTime());
// 随机初始化数组
for (int i = 0; i < row; ++i)
for (int j = 0; j < col; ++j)
a[i][j] = rand.nextInt();
// end for
// end for
// 升序排列第一行
Arrays.sort(a[0]);
// 没有直接的降序函数可供调用
// 先升序排列第二行
Arrays.sort(a[1]);
// 再交换第二行中的对应元素即为降序
int temp;
final int maxIndex = a[1].length - 1; // 第二列的最大索引
for (int i = 0; i <= maxIndex / 2; ++i)
temp = a[1][i];
a[1][i] = a[1][maxIndex - i];
a[1][maxIndex - i] = temp;
// end for
System.out.println(Arrays.toString(a[0]));
System.out.println(Arrays.toString(a[1]));

你可以自己初始化数组,这里初始化为随机数是为了测试

参考技术A // 冒泡排序, 每次冒泡一个最大的到后面
static void bubbleSort(int[] array)
for (int j = 0; j < array.length - 1; j++)
for (int i = 0; i < array.length - 1 - j; i++)
if (array[i] > array[i + 1])
swap(array, i, i + 1);





// 选择排序, 每次选择一个最小的换到前面
static void selectSort(int[] array)
for (int j = 0; j < array.length - 1; j++)
for (int i = j; i < array.length; i++)
if (array[i] < array[j])
swap(array, i, j);




自己传参数进去第一个方法降序,第二个方法升序
参考技术B

可以使用集合吗?

public  static void main(String[] args) 

    int[][] numbers = 
                    1,2,
                    3,4,
                    5,6,
                    7,8,
                    9,10;
    int len = numbers.length;
    Integer[] front = new Integer[len];
    Integer[] later = new Integer[len];
    int[] itemNums;
    for(int i = 0; i < numbers.length; i++)
        itemNums = numbers[i];
        front[i] = itemNums[0];
        later[i] = itemNums[1];
    
    Arrays.sort(front);
    Arrays.sort(later, new Comparator<Integer>()
        @Override
        public int compare(Integer o1, Integer o2) 
            return o2 < o1 ? 1 : (o2 == o1 ? 0 : -1);
        
    );
    for(int i = 0; i < numbers.length; i++)
        numbers[i][0] = front[i];
        numbers[i][1] = later[i];
    

参考技术C http://blog.csdn.net/yexinghai/article/details/4649923

java怎么定义一个二维数组?

java中使用 [][] 来定义二维数组 定义数组时也可同时初始化

下面是一些例子
float[][] numthree; //定义一个float类型的2维数组
numthree=new float[5][5]; //为它分配5行5列的空间大小
numthree[0][0]=1.1f; //通过下标索引去访问 1行1列=1.1
long[][] numfive=new long[5][]; //定义一个long类型的不规则数组
numfive[0]=new long[5]; //为第1行分配5列
//定义double型的数组分配3行3列的空间同时赋值
double[][] numsix={{1.111D,2.222D,3.333D},{4.444D,5.555D,6.666D}};

int[][] numseven=new int[][]{{10,20,30},{40,50},{60}};

以上是关于java编写程序,定义一个2行10列的数组,将数组第一行的数据从小到大排列,第二行数据从大到的主要内容,如果未能解决你的问题,请参考以下文章

算法笔记_116:算法集训之代码填空题集三(Java)

编写程序,求一个二维数组(5行5列)中每行的最大值和每行的和。 帮忙看看哪错了呗,谢谢啦

Java求解! 定义一个6行6列的二维整型数组,输出该二维数组中的每行和每列的最大值、最小值、和平均值。

怎样在MATLAB中创建空的N维数组?

c语言:将一个二维数组行和列的元素互换,存到另一个二维数组中。

java怎么定义一个二维数组?