這是按m列排列m乘n矩陣的正確方法嗎?謝謝。選擇種類最適合這個嗎?多列數組中的列排序
排序是m×n個雙精度值
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;
}
這是一個選擇排序,而不是冒泡排序。選擇排序*從尚未排序的值中選擇下一個值,然後與目標位置中的任何值交換(每個元素交換一次)。在冒泡排序中,該值與當前位置和目標位置之間的每個元素交換(每個元素最多n次交換)。您的代碼選擇按升序對2D陣列的每列進行排序。 – Aderis