❶ java中怎麼對二維數組的列排序
這個就是可以直接排組的,根據數組的定義來。如a[][]={(1,2),(3,4)......}類似這些
❷ java編寫一個方法,使用下面的方法頭對二維數組排序 public static void sort(int m[][])
沒理解樓主的問題,所以寫了兩個,看是哪個
//1
publicstaticvoidmain(String[]args){
intbefore[][]={{2,3},{4,2},{5,2},{1,3},{4,1}};
sort(before);
show(before);
}
privatestaticvoidshow(int[][]before){
for(inti=0;i<before.length;i++){
for(intj=0;j<before[i].length;j++){
System.out.print(before[i][j]);
System.out.print(",");
}
System.out.println();
}
}
publicstaticvoidsort(intnum[][]){
inttemp=num[0].length;
for(inti=0;i<temp;i++){
if(i==0){
int[]temp1;
for(intj=0;j<num.length;j++){
for(intj2=j+1;j2<num.length;j2++){
if(num[j][i]>num[j2][i]){
temp1=num[j];
num[j]=num[j2];
num[j2]=temp1;
}
}
}
}
if(i==1){
inttemp2;
for(intj=0;j<num.length;j++){
for(intj2=j+1;j2<num.length;j2++){
if(num[j][i-1]==num[j2][i-1]){
if(num[j][i]>num[j2][i]){
temp2=num[j][i];
num[j][i]=num[j2][i];
num[j2][i]=temp2;
}
}
}
}
}
}
}
//1結果:
//1,3,
//2,3,
//4,1,
//4,2,
//5,2,
//---------------------------
//2
publicstaticvoidmain(String[]args){
inti,j;
Scannerinput=newScanner(System.in);
System.out.println("pleaseinputtherow:");
intm=input.nextInt();
System.out.println("pleaseinputthecolumn:");
intn=input.nextInt();
int[][]before=newint[m][n];
System.out.println("pleaseinputthebefore:");
for(i=0;i<m;i++){
for(j=0;j<n;j++){
before[i][j]=input.nextInt();
}
}
for(int[]ks:before){
sort(ks);
}
show(before);
}
privatestaticvoidshow(int[][]before){
for(inti=0;i<before.length;i++){
for(intj=0;j<before[i].length;j++){
System.out.println("num"+i+":"+before[i][j]);
}
}
}
publicstaticvoidsort(intnum[]){
inttemp;
for(inti=0;i<num.length;i++){
for(intj=i+1;j<num.length;j++){
if(num[i]>num[j]){
temp=num[i];
num[i]=num[j];
num[j]=temp;
}
}
}
}
❸ Java編程,二維數組排序
並沒有變,只是將二位數組的每行(看成矩陣)作為一維數組進行排序(升序),a[k] (k=0,1,2,3)是每行的首地址
❹ 二維數組排序java
提問者的問題縮寫的太厲害了。沒有說清楚,二維數組是按什麼個方式進行排序?可以採用的方法,通常可以有三種,第一種是按每行的元素大小進行排序,第二種是按每一列的大小進行排序,第三種是把所有的行和列作為一個整體進行排序。
❺ java 對二維數組排序的幾種方法
我就是舉一個num[3][3]的例子啊
如果是更大的數組,只要改動一下代碼中 i,j的值就可以了
我也正在學java,
QQ:374122021,希望能多交流,一起進步
剛開始忽略了一個小東西,現在可以了
public class Test
{
public static void main(String[] args)
{
MyTest t=new MyTest();
t.f();
t.print();
}
}
class MyTest
{
int [][] num=new int[][]{{2,3,8},{9,1,6},{3,5,7}};
int t;
void f()
{
for(int j=0;j<3;j++)
for(int k=0;k<2;k++)
for(int i=0;i<2;i++)
{
if(num[i][j]>num[i+1][j])
{t=num[i][j];num[i][j]=num[i+1][j];num[i+1][j]=t;}
}
}
void print()
{
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
System.out.print(num[i][j]+" ");
System.out.println();
}
}
}
❻ java中如何使用arrays.sort()對二維數組排序
沒辦法直接排序的。自己寫排序方法吧。你也可以用List或Map存放數據,再用Collections的sort(list,comprator)進行排序。comprator是重寫的比較器,要怎麼排都隨你。
❼ Java 二維數組如何先對行再對列排序
class abcd{
public static void main(String args[]){
int a[][] = {{4,1},{1,2},{2,3},{2,1},{3,2},{3,1},{1,1}};
for(int i = 0 ; i<a.length; i++){
for(int j = i ; j <a.length ;j++){
if(a[i][0] > a[j][0] || (a[i][0] == a[j][0] && a[i][1] > a[j][1])){
int temp = a[i][0];
a[i][0] = a[j][0];
a[j][0] = temp;
temp = a[i][1];
a[i][1] = a[j][1];
a[j][1] = temp;
}
}
}
for(int i = 0 ;i<a.length ;i++){
System.out.println(a[i][0]+","+a[i][1]);
}
}
}
❽ java中怎麼進行二維數組的行排序
比如一個二維int數組 int[][] a={{...},{...},{....},{...}};
進行遍歷的話
//這是第一層遍歷-行遍歷
for(int i=0;i<a.length;i++){
//這是第二層的遍歷-列遍歷
for(int j=0;j<a[i].length;j++){
}
}
❾ java二維數組只對每行的數據進行排序
你可以把二維數組理解成普通的一維數組,只不過這個一維數組的每一個元素又是一個數組。
像遍歷普通數組那樣遍歷二維數組的行,這樣就得到了每一行的數組,然後排序。ok