日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java黑皮书课后题第8章:*8.16(对二维数组排序)编写一个方法,使用下面的方法头对二维数组排序。这个方法首先按行排序,然后按列排序

發布時間:2024/7/23 java 26 豆豆

*8.16(對二維數組排序)編寫一個方法,使用下面的方法頭對二維數組排序。這個方法首先按行排序,然后按列排序

  • 題目
    • 題目描述
    • 破題
  • 代碼
    • 運行實例

題目

題目描述

*8.16(對二維數組排序)編寫一個方法,使用下面的方法頭對二維數組排序:
public static void sort(int m[][])
這個方法首先按行排序,然后按列排序
例如:數組{{4,2}, {1,7}, {4,5}, {1,2}, {1,1}, {4,1}},被排序為{{1,1}, {1,2}, {1,7}, {4,1}, {4,2}, {4,5}}

破題

  • 這里因為沒有要求獲取用戶輸入,所以沒必要再從控制臺獲取,完全可以使用題目中給出的數組{{4,2}, {1,7}, {4,5}, {1,2}, {1,1}, {4,1}}
  • 調用方法sort,將原數組傳入
  • sort方法:新建一個int[]對象用于臨時存儲,長度為2
  • sort方法:使用雙層for循環,遍歷第i1個數組和第i2個數組
  • sort方法:比較數組[i1][0]和[i2][0]數值大小,大于則將兩個子數組進行交換
  • sort方法:比較數組[i1][1]和[i2][1]數值大小,大于則將兩個子數組進行交換
  • sort方法:輸出結果
  • 代碼

    public class Test8_16 {public static void main(String[] args) {//1. 這里因為沒有要求獲取用戶輸入,所以沒必要再從控制臺獲取,完全可以使用題目中給出的數組int[][] array = {{4,2}, {1,7}, {4,5}, {1,2}, {1,1}, {4,1}};//2. 調用方法sort,將原數組傳入sort(array);}public static void sort(int m[][]){//3. sort方法:新建一個int[]對象用于臨時存儲,長度為2int[] temp = new int[2];//4. sort方法:使用雙層for循環,遍歷第i1個數組和第i2個數組for (int i1 = 0 ; i1 < m.length - 1; i1++){for (int i2 = i1 + 1 ; i2 < m.length ; i2++){//5. sort方法:比較數組[i1][0]和[i2][0]數值大小,大于則將兩個子數組進行交換if (m[i1][0] > m[i2][0]){//交換temp[0] = m[i1][0];temp[1] = m[i1][1];m[i1][0] = m[i2][0];m[i1][1] = m[i2][1];m[i2][0] = temp[0];m[i2][1] = temp[1];}}}//5. sort方法:比較數組[i1][1]和[i2][1]數值大小,大于則將兩個子數組進行交換for (int i1 = 0 ; i1 < m.length - 1; i1++){for (int i2 = i1 + 1 ; i2 < m.length ; i2++){if (m[i1][0] == m[i2][0]){if (m[i1][1] > m[i2][1]){temp[0] = m[i1][0];temp[1] = m[i1][1];m[i1][0] = m[i2][0];m[i1][1] = m[i2][1];m[i2][0] = temp[0];m[i2][1] = temp[1];}}}}//6. sort方法:輸出結果for (int i = 0 ; i < 5 ; i++){for (int j = 0 ; j < 2; j++){System.out.print(m[i][j] + " ");}System.out.println();}} }

    運行實例

    1 1 1 2 1 7 4 1 4 2

    總結

    以上是生活随笔為你收集整理的Java黑皮书课后题第8章:*8.16(对二维数组排序)编写一个方法,使用下面的方法头对二维数组排序。这个方法首先按行排序,然后按列排序的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。