/// <summary> /// sort array strings in an array by min element of string /// </summary> /// <param name="arr">array</param> /// <param name="typeSort">type of sort: may be ascending or descending</param> private static void SortStringsArrayByMinElement(int[][] arr, AscDescSort typeSort) { for (var i = 0; i < arr.Length; i++) { for (var k = i + 1; k < arr.Length; k++) { var maxElement1 = GetMinElement(arr, i); var maxElement2 = GetMinElement(arr, k); if (typeSort == AscDescSort.Ascending) { if (maxElement1 > maxElement2) { ReplaceArrayElements(arr, i, k); } } else { if (maxElement1 < maxElement2) { ReplaceArrayElements(arr, i, k); } } } } }
/// <summary> /// Sort an array by sum of string elements /// </summary> /// <param name="arr">array</param> /// <param name="typeSort">type of sort: may be ascending or descending</param> private static void SortStringsArrayBySumElements(int[][] arr, AscDescSort typeSort) { for (var i = 0; i < arr.Length; i++) { for (var k = i + 1; k < arr.Length; k++) { var sum1 = 0; for (var j = 0; j < arr[i].Length; j++) { sum1 += arr[i][j]; } var sum2 = 0; for (var t = 0; t < arr[k].Length; t++) { sum2 += arr[k][t]; } if (typeSort == AscDescSort.Ascending) { if (sum1 > sum2) { ReplaceArrayElements(arr, i, k); } } else { if (sum1 < sum2) { ReplaceArrayElements(arr, i, k); } } } } }