JAVA中如何对二维数组的每一列进行排序

来源:百度知道 编辑:UC知道 时间:2024/05/20 07:49:09
public void sortlie()
{
int min=0;
for (int j = 0; j < lie; j++)
{
int n=hang;
int m=-1;
while(n>0)
{
n--;
m++;
for (int i = m; i < hang; i++)
{
min=a[m][j];
if(min>a[i][j])
min=a[i][j];
}
for (int i = m; i < hang; i++)
{
int dangqianhang;
if(a[i][j]==min)
{
dangqianhang=i;
for(int z=dangqianhang;z>0;z--)
{
a[z][j]=a[z-1][j];
}
a[m][j]=min;
}
}
}
}
}
为什么输出结果不对呢?我找不到错误

这个是什么?怎么没有定义类?给你一个排序的例子吧
你看看,应该符合你的要求
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();
}
}

}