Сортировка ступенчатых массивов - C#
Формулировка задачи:
непонятна сортировка ступенчатого массива когда элементом массива массивов является одномерный, еще хотелось бы на примере двумерного элемента узнать сортировку
Листинг программы
- namespace SteppedArray
- {
- class Programm
- {
- public static void Main(string []args)
- {
- int[][] baseArray = generateArray(min: 3, max: 10);
- printArray(baseArray);
- sortArray(baseArray);
- Console.Write("после сортировки");
- printArray(baseArray);
- }
- static int[][] generateArray(int min, int max)
- {
- Random randomVal = new Random();
- // случайное количество строк
- int linesAmnt = randomVal.Next(min, max);
- int[][] array = new int[linesAmnt][];
- for (int lineNum = 0; lineNum < linesAmnt; lineNum++)
- {
- // элементов
- int elementsAmnt = randomVal.Next(min, max);
- array[lineNum] = new int[elementsAmnt];
- for (int elementNum = 0; elementNum < elementsAmnt; elementNum++)
- array[lineNum][elementNum] = randomVal.Next(10, 100);
- }
- return array;
- }
- static void printArray(int[][] inputArray)
- {
- for (int lineNum=0; lineNum < inputArray.Length;lineNum++)
- {
- for (int elementNum=0;elementNum<inputArray[lineNum].Length;elementNum++)
- Console.Write(" " + inputArray[lineNum][elementNum]);
- Console.WriteLine();
- }
- }
- static void sortArray(int [][]inputArray)
- {
- int buffer;
- for (int lineNum = 0; lineNum < inputArray.Length; lineNum++)
- for (int elementNum = 0; elementNum < inputArray[lineNum].Length; elementNum++)
- if (inputArray[lineNum][elementNum]> inputArray[lineNum][elementNum+1])
- {
- buffer = inputArray[lineNum][elementNum];
- inputArray[lineNum][elementNum] = inputArray[lineNum][elementNum+1];
- inputArray[lineNum][elementNum+1] = buffer;
- }
- }
- }
- }
Решение задачи: «Сортировка ступенчатых массивов»
textual
Листинг программы
- for (int k = elementNum + 1; k < inputArray[ lineNum].Length; k++)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д