Java 多维数组中的列排序
这是根据m×n矩阵的列对其进行排序的正确方法吗?谢谢对于这个问题,选择排序是最好的吗 排序是一个mxn双值数组Java 多维数组中的列排序,java,arrays,sorting,Java,Arrays,Sorting,这是根据m×n矩阵的列对其进行排序的正确方法吗?谢谢对于这个问题,选择排序是最好的吗 排序是一个mxn双值数组 for (int j = 0; j < sorted[0].length; j++) { for (int i = 0; i < sorted.length - 1; i++) { double currentMin = sorted[i][j]; int minIndex = i; for
for (int j = 0; j < sorted[0].length; j++)
{
for (int i = 0; i < sorted.length - 1; i++)
{
double currentMin = sorted[i][j];
int minIndex = i;
for (int row = i + 1; row < sorted.length; row++)
{
if (currentMin > sorted[row][j])
{
currentMin = sorted[row][j];
minIndex = row;
}
}
if (minIndex != i)
{
sorted[minIndex][j] = sorted[i][j];
sorted[i][j] = currentMin;
}
}
}
return sorted;
for(int j=0;jsorted[row][j])
{
currentMin=已排序的[行][j];
minIndex=行;
}
}
if(minIndex!=i)
{
已排序的[minIndex][j]=已排序的[i][j];
排序后的[i][j]=currentMin;
}
}
}
返回排序;
}我对代码进行了编号,以便在我的描述中可以方便地引用部分代码
1. for (int j = 0; j < sorted[0].length; j++)
{
2. for (int i = 0; i < sorted.length - 1; i++)
{
3. double currentMin = sorted[i][j];
3. int minIndex = i;
4. for (int row = i + 1; row < sorted.length; row++)
{
5. if (currentMin > sorted[row][j])
{
currentMin = sorted[row][j];
minIndex = row;
}
}
6. if (minIndex != i)
{
sorted[minIndex][j] = sorted[i][j];
sorted[i][j] = currentMin;
}
}
}
return sorted;
}
1。对于(int j=0;jsorted[row][j])
{
currentMin=已排序的[行][j];
minIndex=行;
}
}
6.如果(minIndex!=i)
{
已排序的[minIndex][j]=已排序的[i][j];
排序后的[i][j]=currentMin;
}
}
}
返回排序;
}
步骤4-6找到最小值并将其放在正确的位置。在这些步骤的每次迭代中,只有一个值被移动。我对代码进行了编号,以便在我的描述中可以很容易地引用部分代码
1. for (int j = 0; j < sorted[0].length; j++)
{
2. for (int i = 0; i < sorted.length - 1; i++)
{
3. double currentMin = sorted[i][j];
3. int minIndex = i;
4. for (int row = i + 1; row < sorted.length; row++)
{
5. if (currentMin > sorted[row][j])
{
currentMin = sorted[row][j];
minIndex = row;
}
}
6. if (minIndex != i)
{
sorted[minIndex][j] = sorted[i][j];
sorted[i][j] = currentMin;
}
}
}
return sorted;
}
1。对于(int j=0;jsorted[row][j])
{
currentMin=已排序的[行][j];
minIndex=行;
}
}
6.如果(minIndex!=i)
{
已排序的[minIndex][j]=已排序的[i][j];
排序后的[i][j]=currentMin;
}
}
}
返回排序;
}
步骤4-6找到最小值并将其放在正确的位置。在这些步骤的每次迭代中,只移动一个值。非常感谢,我现在看到了。@user3358116所以,请单击箭头向上投票我的答案,然后单击V接受它:)非常感谢,我现在看到了。@user3358116所以,请单击箭头向上投票我的答案,然后在V中单击以接受它:)这是选择排序,而不是冒泡排序。选择排序从尚未排序的值中选择下一个值,然后将其与目标位置中的任何值交换(每个元素交换一次)。在冒泡排序中,值与每个元素在其当前位置和目标位置之间交换(每个元素最多交换n次)。代码选择按递增顺序对2D数组的每列进行排序。这是选择排序,而不是冒泡排序。选择排序从尚未排序的值中选择下一个值,然后将其与目标位置中的任何值交换(每个元素交换一次)。在冒泡排序中,值与每个元素在其当前位置和目标位置之间交换(每个元素最多交换n次)。您选择的代码按递增顺序对二维数组的每一列进行排序。