初级题,求解答。。。。

定义并录入一个任意的二维数组a[3][4],用冒泡排序按升序进行排列。

晕,这个题是你的考试题吗

楼主你好,刚写的代码:
import java.util.Random;

class RandomDemo
{
public static void main(String[] args)
{
int[][] data = new int[3][4];
Random random = new Random();
//生成数据
for(int i = 0; i < data.length; i++){
for (int j = 0; j < data[i].length; j++)
{
data[i][j] = random.nextInt();
System.out.print(data[i][j] + ", ");
}
System.out.println();
}

    System.out.println();
    //排序输出
    int[] dataCopy = new int[12];
    for(int i = 0; i < data.length; i++){
        for (int j = 0; j < data[i].length; j++)
        {
            dataCopy[i * 3 + j] = data[i][j];
        }
    }

    for(int i = 1; i < dataCopy.length; i++){
        for(int j = 0; j < dataCopy.length - i; j++){
            if(dataCopy[j] > dataCopy[j + 1]){
                int temp = dataCopy[j];
                dataCopy[j] = dataCopy[j + 1];
                dataCopy[j + 1] = temp;
            }
        }
    }

    for(int i = 0; i < data.length; i++){
        for (int j = 0; j < data[i].length; j++)
        {
            data[i][j] = dataCopy[i * 3 + j];
            System.out.print(data[i][j] + ", ");
        }
        System.out.println();
    }

    System.out.println("Hello World!");
}

}

效果图:
图片说明
望采纳。

#include

void main()
{
int a[3][4] = { {3,9,6,7},
{5,9,2,8},
{4,1,6,2}
};
printf("排序前\n");
for(int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
//1:全都丢进一个数组里

//2:
//for (int i = 0; i < 3; i++)
//{
//  for (int ii = 0; ii < 4; ii++)
//  {
//  
//      for (int j = 0; j < 3; j++)
//      {
//          for (int jj = 0; jj < 4; jj++)
//          {

//              if (a[j][jj] < a[i][ii])
//              {
//                  int t = a[i][ii];
//                  a[i][ii] = a[j][jj];
//                  a[j][jj] = t;
//              }
//          }
//          
//      }
//  }
//}

//3. 
for (int i = 0; i < 12; i++)
{
    for (int j = i; j < 12; j++)
    {
        if (a[j/4][j%4] < a[i/4][i%4])
        {
            int t = a[i/4][i%4];
            a[i/4][i%4] = a[j/4][j%4];
            a[j/4][j%4] = t;
        }
    }
}
printf("排序后\n");
for(int i = 0; i < 3; i++)
{
    for (int j = 0; j < 4; j++)
    {
        printf("%d ", a[i][j]);
    }
    printf("\n");
}
getchar();

}

自己写的关于排序的博客,对你可能会有帮助,写的不好请见谅

http://blog.csdn.net/tutuxs/article/details/52878391

这算是变相的打广告吗(^~^)