1. 程式人生 > >java中二維陣列排序

java中二維陣列排序

package practice;
import java.util.Scanner;
public class Paixu{
 static void sort2(int n,int m){
 System.out.println("隨機產生的"+n+"行"+m+"列陣列:");
 int [][] a = new int[n][m];
 for (int i = 0;i < a.length; i++) {
  for (int j = 0;j < a[i].length; j++) {
   a[i][j] = (int)(Math.random()*110)-10;


  }
 }
 for (int i = 0;i < a.length; i++) {
  for (int j = 0;j < a[i].length; j++) {
   System.out.print(a[i][j]);
   System.out.print("\t");
  }
  System.out.println();
 }
 for (int k = 0;k < n*m; k++) {
  for (int i = 0;i < n; i++) {
   for (int j = 0;j < m; j++) {
    if ((j+1)%a[i].length != 0) {
     if (a[i][j] > a[i][j+1]) {
      int temp = a[i][j];
      a[i][j] = a[i][j+1];
      a[i][j+1] = temp;
     }
    } else {
     if (i+1 != a.length) {
      if (a[i][j] > a[i+1][(j+1)%a[i].length]) {
       int temp = a[i][j];
       a[i][j] = a[i+1][(j+1)%a[i].length];
       a[i+1][(j+1)%a[i].length] = temp;
      }
     }
    }
   }
  }
 }
 System.out.println("排序後");
 for (int i = 0;i < a.length; i++) {
  for (int j = 0;j < a[i].length; j++) {
   System.out.print(a[i][j]);
   System.out.print("\t");
  }
  System.out.println();
 } 
}
public static void main(String[] args) {
System.out.println("please input n and m:");
Scanner scan = new Scanner(System.in);
try{
int a=scan.nextInt();
int b=scan.nextInt();
sort2(a,b);
}catch(Exception e){
System.out.println("捕獲到異常,異常資訊是"+e.getMessage());
}
}
}

相關推薦

java陣列排序

package practice; import java.util.Scanner; public class Paixu{ static void sort2(int n,int m){ System.out.println("隨機產生的"+n+"行"+m+"列陣列:"

java實現陣列排序並定位座標(藉助list)

import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Comparator; public  class test {static

Java 一個陣列,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。判斷陣列是否含有某個整數。

開始刷牛客題目:思路:題目已知:二維陣列由上到下,由左到右遞增的規律,那麼選取右上角(或者左下角)的元素a[row][col]與target進行比較,當target小於元素a[row][col]時,那麼target必定在元素a所在行的左邊,即col--;當target大於元素

Java第一次作業:規範化輸出、陣列排序問題

2. (15分)某省居民電價分三個“階梯”:月用電量50度以內的,電價為0.538元/度;用電量在51度至200度之間的,電價為0.568元/度,用電量超過200度的,電價為0.638元/度。編寫程式,使用者從鍵盤輸入用電量,程式輸出使用者應繳納的電費。 (輸入輸出介面,迴圈)(格式化輸出)

Java陣列陣列儲存佔用記憶體大小問題

問題:在java中,一維陣列和二維陣列在資料量一樣的情況下,開闢的記憶體大小是怎樣的? 一、嘗試階段: 1、程式碼一: public class OneArrayMemory{ public static void main(String[] args){ int num1 = 1

Java陣列陣列初始化

陣列屬於引用資料型別,在使用前必須初始化,否則會報NullPointerException(空指標異常:執行時異常) 一維陣列初始化: 動態初始化:(宣告並開闢陣列) 資料型別[ ] 陣列名稱=new 資料型別[長度] int[ ] data=new

numpy陣列按照某列、某行排序

如何根據二維陣列中的某一行或者某一列排序?假設data是一個numpy.array型別的二維陣列,可以利用numpy中的argsort函式進行實現,程式碼例項如下: data = data[da

Java基礎知識複習(四)-- 對陣列排序+求質數的個數

1.練習-二維陣列排序 首先定義一個5X8的二維陣列,然後使用隨機數填充滿。 藉助Arrays的方法對二維陣列進行排序。 參考思路: 先把二維陣列使用System.arraycopy進行陣列複製到一個一維陣列 然後使用sort進行排序 最後再複製回到二維陣列。 pack

Java不規則陣列的雙維度排序第2種方法

在Java中Arrays.sort()函式是不能對二維陣列進行排序的。 那麼,我們應該怎麼對Java中的二維陣列進行排序呢?之前在《Java不規則二維陣列的雙維度排序》一文中已經講過一種方法了,現在讓

Java 實現陣列按指定列經行排序

[java] view plaincopyprint? import java.util.*;      publicstaticvoid sortIntArray(int[][] arObjects, finalint[] arOrders)      {    

Java 查詢陣列是否含有某個數

在二維陣列中,每一行都按照從左到右遞增的順序排序, 每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 public class fin

Java數組的操作

ocl 繼續 print nbsp ati sta 編寫 sys src //1.二維數組的定義 //2.二維數組的內存空間 //3.不規則數組 輸出要放在循環裏面,放在外面就報錯了 打debug確定二維數組的關系

array_multisort 陣列排序

用PHP自帶array_multisort函式排序 <?php     $data = array();    $data[] = array('volume' => 67, 'edition' => 2); 

Python陣列的建立

習慣了java的Matrix = [][]不知道python怎麼創二維陣列。 先看 python中的二維陣列操作 對最後提出的二維陣列建立方式存在疑問 Matrix = [([0] * 3) for i in range(4)] 為什麼可以用[0]*3?不會淺拷貝嗎?   看了

TP 3.23 陣列排序

/** * @desc arraySort php二維陣列排序 按照指定的key 對陣列進行自然排序 * @param array $arr 將要排序的陣列 * @param string $keys 指定排序的key * @param string $ty

java 基礎——陣列的拷貝

文章目錄 for 迴圈拷貝 基本型別 引用型別 clone 方式拷貝 基本型別 引用型別 System.arraycopy() 基本型別

利用插入排序的思想對陣列排序

插入排序的 應用 vector<int> vec; vector<vector<int>> vecVec; 按vec的容量從小到大對vecVec排序 void vecVecSort(vector<vector<int>>& pr

C#陣列int[,]與交叉陣列int[][]的區別

首先說一下交叉陣列這個東西是C#裡面的,c++裡面是沒有的交叉陣列這個定義的   int[][] 是陣列的陣列,即一個一維陣列的每個元素都是一個數組,這個在C++,java等語言裡面也是這麼定義的; int[,]這個是C#中提供的一個二維陣列的形式,在C++中並不存在

Js陣列格式轉換問題

    專案中遇到個問題,就是後端給我一個如下的二維陣列: 即一個17項的陣列,每一項是一個長度為5的陣列,我暫時定義為17*5的陣列,而我需要轉換為5*17的陣列,即5項,每一項是一個長度為17的陣列。我使用的是將陣列遍歷兩次(效能可能會不好,但暫時只會使用這種)。我

Java——解析陣列

Description 讀入一個字串,該字串表示一個整型二維陣列d,陣列中的元素通過解析字串引數獲得。例如,字串引數:“1,2;3,4,5;6,7,8”,對應的陣列為: d[0,0] = 1 d[0,1] = 2 d[1,0] = 3 d[1,1] = 4 d[1,2]