Java 需要家庭作业方面的帮助吗
这就是赋值:编写一个方法,用2维对矩阵的元素进行排序。比如说Java 需要家庭作业方面的帮助吗,java,sorting,Java,Sorting,这就是赋值:编写一个方法,用2维对矩阵的元素进行排序。比如说 sort({{1,4}{2,3}}) 将返回一个矩阵 {{1,2}{3,4}}. 我不知道我在代码中做错了什么,因为我得到的输出是3.0、3.0、4.0、4.0 这是我迄今为止所做的一切,如有任何帮助,我们将不胜感激 public static void main(String[] args) { double[][] array = { {1, 4}, {2, 3} }; double[][] new_arr
sort({{1,4}{2,3}})
将返回一个矩阵
{{1,2}{3,4}}.
我不知道我在代码中做错了什么,因为我得到的输出是3.0、3.0、4.0、4.0
这是我迄今为止所做的一切,如有任何帮助,我们将不胜感激
public static void main(String[] args) {
double[][] array = { {1, 4}, {2, 3} };
double[][] new_array = sort(array);
for(int i = 0; i < array.length; i++) {
for(int j = 0; j < array.length; j++) {
System.out.print(new_array[i][j] + " ");
}
}
}
public static double[][] sort(double[][] array) {
double[] storage = new double[array.length];
for(int i = 0; i < array.length; i++) {
for(int j = 0; j < array.length; j++) {
storage[i] = array[i][j];
}
}
storage = bubSort(storage);
for(int i = 0; i < array.length; i++) {
for(int j = 0; j < array.length; j++) {
array[i][j] = storage[i];
}
}
return array;
}
public static double[] bubSort(double[] list) {
boolean changed = true;
double temp;
do {
changed = false;
for (int j = 0; j < list.length -1; j++)
if (list[j] > list[j + 1]) {
temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
changed = true;
}
} while (changed);
return list;
}
}
publicstaticvoidmain(字符串[]args){
双[][]数组={{1,4},{2,3};
双[]新数组=排序(数组);
for(int i=0;i列表[j+1]){
温度=列表[j];
列表[j]=列表[j+1];
列表[j+1]=温度;
更改=正确;
}
}同时(改变);
退货清单;
}
}
您遇到的主要问题是如何将值从2d数组复制到1d数组中。实际上,您只需将两个值复制到长度为2的数组中。二维阵列的长度不是完整的m x n长度
我将给出一个小提示,说明如何从2d数组复制到1d数组,但如何从1d数组复制到2d数组则取决于您。另外,您将如何查找数组的完整长度
double[] storage = new double[4];//You should calculate this value
int k = 0;
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length; j++) {
storage[k++] = array[i][j];
}
}
double[]存储=新的double[4]//你应该计算这个值
int k=0;
for(int i=0;i
冒泡排序工作正常,但随后将值复制回错误的位置。尝试在排序后打印阵列存储,您将看到它现在是正确的。您正在覆盖存储阵列,并将其设置为array[i]。因为它在for循环中,所以您要设置存储[0]=数组[0][0],然后设置存储[0]=数组[0][1]。这将导致您只拾取该数组维度中的最后一个数字。同样地,当你把它们读回时,你将同样的数字插入两次。由于4和3是其各自维度中的最后两个数字,这表明您正在对数组进行排序。您需要为设置为