❶ 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