「java二维数组排序」java二维数组排序comparator
本篇文章给大家谈谈java二维数组排序,以及java二维数组排序comparator对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java 对二维数组排序的几种方法
- 2、java二维数组只对每行的数据进行排序
- 3、java编写一个方法,使用下面的方法头对二维数组排序 public static void sort(int m[][])
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;j3;j++)
for(int k=0;k2;k++)
for(int i=0;i2;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;i3;i++)
{
for(int j=0;j3;j++)
System.out.print(num[i][j]+" ");
System.out.println();
}
}
}
java二维数组只对每行的数据进行排序
你可以把二维数组理解成普通的一维数组,只不过这个一维数组的每一个元素又是一个数组。
像遍历普通数组那样遍历二维数组的行,这样就得到了每一行的数组,然后排序。ok
java编写一个方法,使用下面的方法头对二维数组排序 public static void sort(int m[][])
没理解楼主的问题,所以写了两个,看是哪个
//1
public static void main(String[] args) {
int before[][] = { { 2, 3 }, { 4, 2 }, { 5, 2 }, { 1, 3 }, { 4, 1 } };
sort(before);
show(before);
}
private static void show(int[][] before) {
for (int i = 0; i before.length; i++) {
for (int j = 0; j before[i].length; j++) {
System.out.print(before[i][j]);
System.out.print(",");
}
System.out.println();
}
}
public static void sort(int num[][]) {
int temp = num[0].length;
for (int i = 0; i temp; i++) {
if (i == 0) {
int[] temp1;
for (int j = 0; j num.length; j++) {
for (int j2 = 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) {
int temp2;
for (int j = 0; j num.length; j++) {
for (int j2 = 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
public static void main(String[] args) {
int i, j;
Scanner input = new Scanner(System.in);
System.out.println("please input the row:");
int m = input.nextInt();
System.out.println("please input the column:");
int n = input.nextInt();
int[][] before = new int[m][n];
System.out.println("please input the before:");
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);
}
private static void show(int[][] before) {
for (int i = 0; i before.length; i++) {
for (int j = 0; j before[i].length; j++) {
System.out.println("num" + i + ":" + before[i][j]);
}
}
}
public static void sort(int num[]) {
int temp;
for (int i = 0; i num.length; i++) {
for (int j = i+1; j num.length; j++) {
if (num[i] num[j]) {
temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}
}
}
关于java二维数组排序和java二维数组排序comparator的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-22,除非注明,否则均为
原创文章,转载请注明出处。