黑马程序员技术交流社区

标题: 新人,自己琢磨的二维数组的排序,大神支招怎么样写更好? [打印本页]

作者: 梦想起航    时间: 2015-7-8 18:18
标题: 新人,自己琢磨的二维数组的排序,大神支招怎么样写更好?
/*
做一个二维数组的排序
*/

import java.util.Scanner;

public class Px2 {
        public static void main(String args[])
        {
                int a[][]=new int[10][10];
                bianLi(a);
                System.out.println("现在的数据为:");
                out(a);
                paiXu(a);
               
        }
        //输入需要操作的数组值。
        public static void bianLi(int a[][])
        {
               
                Scanner sc=new Scanner(System.in);
                int n=0,m=0;
                System.out.println("请输入9个数据,以空格分开:");
                for(int i=0;i<3;i++)
                {
                        for(int j=0;j<3;j++)
                        {
                               
                                //System.out.println("请输入第"+(n+m+1)+"个数据:");
                                a[i][j]=sc.nextInt();
                               
                                m++;
                        }
                }
                System.out.println("a1的长度为:"+a.length);
        }
        //输出你存入的数据
        public static void out(int a[][])
        {
                for(int i=0;i<3;i++)
                {
                        for(int j=0;j<3;j++)
                        {
                                System.out.print(a[i][j]+" ");
                        }
                }
                System.out.println(" ");
        }
       
        //对输入的数组值进行排序。
        public static void paiXu(int a[][])
        {
                System.out.println("a2的长度为:"+a.length);
                int b[]=new int[9];
                int n=0;
                for (int i=0;i<3;i++)
                {
                        for (int j=0;j<3;j++)
                        {
                               
                                b[n]=a[i][j];
                                n++;
                        }
               
                }
                for(int i=0;i<b.length-1;i++)
                {
                        for (int j=i+1;j<b.length;j++)
                        {
                                if(b[i]>b[j])
                                {
                                        int tmp=b[i];
                                        b[i]=b[j];
                                        b[j]=tmp;
                                }
                        }
                }
               
                System.out.println("排序后的数据为:");
                for(int k=0;k<9;k++){
                        System.out.print(b[k]+" ");
                }
                /*
                for (int i=0;i<3;i++)
                {
                        for (int j=0;j<3;j++)
                        {
                                for (int k=0;k<3;k++)
                                {
                                        if (a[i][j]>a[j][k])
                                        {
                                                int tmp=a[i][j];
                                                a[i][j]=a[j][k];
                                                a[i][k]=tmp;
                                        }
                                }
                        }
                }*/
        }
        }

作者: Love丶cd    时间: 2015-7-8 18:26
...........




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2