正在回答
2回答
同学你好,可以先将二维数组转换为一维数组进行冒泡排序,一维数组的冒泡排序在《Java一维数组 》中有讲到。排序后再将一维数组转换为二维数组。参考如下:
public static void main(String[] args) { int[][] arr = {{11, 15, 32}, {2, 3, 21}, {4, 5, 6}}; int maolen = 0; for (int x = 0; x < arr.length; x++) { maolen = maolen + arr[x].length; } int maoarr[] = new int[maolen]; int z = 0; for (int x = 0; x < arr.length; x++) { for (int y = 0; y < arr[x].length; y++) { maoarr[z] = arr[x][y]; z++; } } System.out.println("被转化为一维数组为:"); for (int x = 0; x < maoarr.length; x++) { System.out.print(maoarr[x] + " "); } System.out.println(); //开始冒泡排序 System.out.println("开始冒泡排序"); for (int x = 0; x < maoarr.length; x++) { for (int y = x; y < maoarr.length - 1; y++) { int temp = 0; if (maoarr[x] > maoarr[y + 1]) { temp = maoarr[x]; maoarr[x] = maoarr[y + 1]; maoarr[y + 1] = temp; } } } //一维转二维 z = 0; for (int x = 0; x < arr.length; x++) { for (int y = 0; y < arr[x].length; y++) { arr[x][y] = maoarr[z]; z++; } } System.out.println("冒完泡后的二维数组为"); for (int x = 0; x < arr.length; x++) { for (int y = 0; y < arr[x].length; y++) { System.out.print(arr[x][y] + " "); } System.out.println(); } }
祝:学习愉快~
java工程师2020版
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星