Как да сортирам двумерен double масив по специфична колона във възходящ ред?
Здравейте,
Имам двумерен масив double, примерно:
double[,] mainArray =
{
{1.5, 2.8, 3.1, 1.2},
{5.5, 6.1, 7.8, 8.4},
{3.9, 7.8, 7.5 0.4},
};
Искам да го сортирам във възходящ ред по елементите на последната колона, за да получа това:
mainArray =
{
{3.9, 7.8, 7.5, 0.4},
{1.5, 2.8, 3.1, 1.2},
{5.5, 6.1, 7.8, 8.4},
};
Пробвах с алгоритъм Selection Sort, но е прекалено бавен. Тъй като масива ми е доста обемист, вече четвърто денонощие съм без резултат.
Благодаря предварително!
EDIT: Това ми се струва в правилната посока, но все още не мога да го реализирам изпълнимо:
var myOrderedArray = mainArray.OrderBy(row => row[3]).ToArray();
UP: СТАНА!
Пренаписах масива в Jagged: double[][] mainArray = new double[i][];
Използвах кода от: https://www.codegrepper.com/code-examples/csharp/c%23+2-dimensional+array+sort
Сортира всичко за...2 минути. С кода за сортиране по алгоритъма Selection Sort чаках четири денонощия без резултат.