导航:首页 > 编程语言 > java对二维数组排序

java对二维数组排序

发布时间:2022-12-10 11:57:09

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

阅读全文

与java对二维数组排序相关的资料

热点内容
cmake创建文件夹 浏览:933
SDP单片机 浏览:376
pdf拼合打印 浏览:524
big是哪个软件的文件夹 浏览:779
win10ksm服务器地址 浏览:340
一元二次估算法 浏览:925
一招读懂源码 浏览:126
为什么苹果ipad连接不上服务器 浏览:927
可乐app怎么用卡密 浏览:766
路由器如何打开dhcp服务器地址 浏览:75
谷歌图片怎么搜索app 浏览:863
江苏文件夹模具厂 浏览:464
安卓系统网线拦截怎么关闭 浏览:31
服务器和终端是什么 浏览:516
换安卓苹果照片怎么弄回去 浏览:260
如何向ca中心申请服务器 浏览:187
从java到Android 浏览:552
福建加密app哪个好用 浏览:382
opengl游戏编程徐明亮pdf 浏览:619
单片机row怎么用 浏览:981