黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java二維數(shù)組排序示例

Java二維數(shù)組排序示例

更新時(shí)間:2022-09-29 11:34:19 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1497次

數(shù)組可以定義為二維數(shù)組。組成2D數(shù)組的矩陣表示為行和列的集合。因?yàn)?D數(shù)組的元素可以隨機(jī)訪問(wèn),所以我們可以使用索引訪問(wèn)2D數(shù)組中的各個(gè)單元格,就像我們可以訪問(wèn)一維數(shù)組一樣。

在二維數(shù)組中,單元格有兩個(gè)索引,一個(gè)是行號(hào),另一個(gè)是列號(hào)。排序是一種按特定順序排列2D數(shù)組中元素的技術(shù)。2D數(shù)組可以按升序或降序排序。讓我們看看如何按升序和降序?qū)ava中的2D數(shù)組進(jìn)行不同的排序。

Java中的2D數(shù)組排序示例

下面介紹了不同的示例:

示例#1

Java中的2D數(shù)組排序示例,用于對(duì)2D數(shù)組的所有元素進(jìn)行排序。

代碼:

package jex;
import java.util.*;
public class demo {
// using bubble sort to sort 2D array
// sort 2D array same as it is in a 1D array of size n * m
public static void sort(int arr[][]) {
int i, j, temp;
int n=arr.length;
int m=arr[0].length;
for (i = 0; i < n * m - 1; ++i) {
for (j = 0; j < n * m - 1 - i; ++j) {
if (arr[j / m][j % m] > arr[(j + 1) / m][(j + 1) % m]) {
temp = arr[(j + 1) / m][(j + 1) % m];
arr[(j + 1) / m][(j + 1) % m] = arr[j / m][j % m];
arr[j / m][j % m] = temp;
}
}
}
}
public static void print(int arr[][]) {
int i, j;
int n=arr.length;
int m=arr[0].length;
for (i = 0; i < n; ++i) {
for (j = 0; j < m; ++j) {
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int[][] arr={ { 5, 12, 17, 12, 23},
{ 1, 2, 4, 6, 8},
{21, 14, 7, 19, 27},
{ 3, 18, 9, 15, 25}
};
System.out.println("Array Before Sorting is : ");
print(arr);
sort(arr);
System.out.println("Array After Sorting is : ");
print(arr);
}
}

輸出

與上面的程序一樣,sort()方法用于迭代2D數(shù)組的每個(gè)元素,當(dāng)當(dāng)前元素大于下一個(gè)元素時(shí),交換數(shù)字。最后,print方法顯示2D數(shù)組的所有元素。在main函數(shù)中,2D數(shù)組是在調(diào)用sort()函數(shù)前后創(chuàng)建和打印的,如上面的輸出所示。

示例#2

Java中的2D數(shù)組排序示例,按列對(duì)2D數(shù)組的所有元素進(jìn)行排序。

代碼:

package jex;
import java.util.*;
public class demo {
public static void sort(int arr[][]) {
int i, j,k, temp;
int n=arr.length;
int m=arr[0].length;
for (k = 0; k < m; ++k) {
for (i = 0; i < n; ++i) {
for (j = 0; j < n - 1 - i; ++j) {
if (arr[j][k] > arr[j + 1][k]) {
temp = arr[j + 1][k];
arr[j + 1][k] = arr[j][k];
arr[j][k] = temp;
}
}
}
}
}
public static void print(int arr[][]) {
int i, j;
int n=arr.length;
int m=arr[0].length;
for (i = 0; i < n; ++i) {
for (j = 0; j < m; ++j) {
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int[][] arr={ { 5, 12, 17, 12, 23},
{ 1, 2, 4, 6, 8},
{21, 14, 7, 19, 27},
{ 3, 18, 9, 15, 25}
};
System.out.println("Array Before Sorting is : ");
print(arr);
sort(arr);
System.out.println("Array After Sorting is : ");
print(arr);
}
}

輸出

與上面的重寫程序一樣,sort()方法用于迭代2D數(shù)組的每個(gè)元素,并按列對(duì)數(shù)組進(jìn)行排序。最后,print方法顯示2D數(shù)組的所有元素。在main函數(shù)中,2D數(shù)組是在調(diào)用sort()函數(shù)前后創(chuàng)建和打印的,如上面的輸出所示。

示例#3

按行對(duì)二維數(shù)組的所有元素進(jìn)行排序。

代碼:

package jex;
import java.util.*;
public class demo {
// using bubble sort to sort 2D array
// sort 2D array same as it is in a 1D array of size n * m
public static void sort(int arr[][]) {
int i, j,k, temp;
int n=arr.length;
int m=arr[0].length;
for(k=0;k<n;++k){
// applying bubble sort on kth row
for(i=0;i<m;++i){
for(j=0;j<m-1-i;++j){
if(arr[k][j]>arr[k][j+1]){
temp = arr[k][j+1];
arr[k][j+1] = arr[k][j];
arr[k][j] = temp;
}
}
}
}
}
public static void print(int arr[][]) {
int i, j;
int n=arr.length;
int m=arr[0].length;
for (i = 0; i < n; ++i) {
for (j = 0; j < m; ++j) {
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int[][] arr={ { 5, 12, 17, 12, 23},
{ 1, 2, 4, 6, 8},
{21, 14, 7, 19, 27},
{ 3, 18, 9, 15, 25}
};
System.out.println("Array Before Sorting is : ");
print(arr);
sort(arr);
System.out.println("Array After Sorting is : ");
print(arr);
}
}

輸出

與上面的重寫程序一樣,sort()方法用于迭代2D數(shù)組的每個(gè)元素,并按行對(duì)數(shù)組進(jìn)行排序。最后,print方法顯示2D數(shù)組的所有元素。在main函數(shù)中,2D數(shù)組是在調(diào)用sort()函數(shù)前后創(chuàng)建和打印的,如上面的輸出所示。

結(jié)論

排序是一種按特定順序排列2D數(shù)組中元素的技術(shù)。例如,在二維數(shù)組中,單元格有兩個(gè)索引:行號(hào)和列號(hào)。如果大家想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程內(nèi)容從入門到精通,細(xì)致全面,很適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對(duì)大家能夠有所幫助。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 三级黄色片在线观看 | 日本国内一区二区三区 | 亚洲天堂网站在线 | 在线免费观看色 | 欧美ay亚洲ay日韩ay | 丝袜三级 | 2019中文字幕视频 | 国产免费一级高清淫曰本片 | 一区二区视频在线观看 | 韩国一级黄色大片 | 禁视频网站在线观看漫画 | 亚洲香蕉 | 亚洲欧美经典 | 成人免费黄网站 | 欧美高清国产 | 日韩欧美精品 | 亚洲视频高清 | 国产成人亚洲精品 | 日日狠日| 精品在线一区二区 | 99超级碰碰成人香蕉网 | 狠狠色狠狠色综合日日92 | 日韩欧美国产成人 | 夜色私人影院永久入口 | 中文字幕欧美日韩在线不卡 | 国产精品成人一区二区三区 | 久久国产免费观看精品1 | 免费www视频| 男女啪啪搓胸gif动态图 | 91视频最新网站 | 九九热亚洲精品综合视频 | 亚洲欧美国产精品专区久久 | 国产黄视频在线观看 | 毛片手机在线看 | 在线免费观看日韩视频 | 色汉综合| 久久手机视频 | 日本中文字幕二区三区 | 一区二区三区四区日韩 | 免费观看性欧美一级 | 桃花岛亚洲精品tv自拍网站 |