簡體   English   中英

排序數組並打印出來

[英]Sorting array and printing out

我將要排序一個二維數組。 但是,有某種方法可以做到這一點。 (遍歷的時間,然后繼續下一行)

如您所見,我在這里所做的是,我首先對第0行進行排序,然后對I進行遞增,然后再對行進行遞增,然后再對列math.pow(m[j].length, 2)排序。 這個對嗎?

此外,有一種從void方法中打印出2D數組的靈巧方法,而無需使用for循環。 Arrays.tostring對我沒有太大幫助嗎?

  public static void sort(int m[][]) {


    int j = 0;

    for (int k = 0; k < Math.pow(m[j].length, 2); k++)
    {  
        for (int i = 0; i < m[k].length - 1; i++)
        {

        if (m[i][j] > m[i + 1][j]) 
        {
           int temp = m[i][j];
           m[i][j] = m[i + 1][j];
           m[i + 1][j] = m[i][j];
        }
        }
    }
  System.out.print("The array is " + Arrays.toString(m));   
  } 

此外,有一種從void方法中打印出2D數組的靈巧方法,而無需使用for循環。 Arrays.tostring對我沒有太大幫助嗎?

是。 Arrays.deepToString(Object[])喜歡,

System.out.print("The array is " + Arrays.deepToString(m));

最后,您的交換顯然很不正確

int temp = m[i][j];
m[i][j] = m[i + 1][j];
m[i + 1][j] = temp; // m[i][j];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM