Не выходит сортировка простыми включениями - C#
Формулировка задачи:
Нужно отсортировать одномерный массив по модулю по возрастанию.
На выходе получается , что последний элемент массива перекидывает в начало массива, и дальше начинается сортировка.
Например дан массив:
1 5 9 -4 81 -15 10
Массив после сортировки:
10 -4 5 9 10 -15 81
ЧЯДНТ?
for(int i = 2; i<n; i++) { x = mas[i]; mas[0] = x; j = i - 1; while(Math.Abs(x)<Math.Abs(mas[j])) { mas[j + 1] = mas[j]; j = j - 1; } mas[j + 1] = x; }
Не просто перекидывает, а перезаписывает первое число последним и последнее ещё включает в сортировку. Делал по методичке - http://hosting.vspu.ac.ru/~chul/program/sortmass.pdf
Решение задачи: «Не выходит сортировка простыми включениями»
textual
Листинг программы
double x; int j; for (int i = 1; i < n; i++) { x = mas[i]; j = i - 1; while (j >= 0 && Math.Abs(x) > Math.Abs(mas[j])) { mas[j + 1] = mas[j]; j = j - 1; } mas[j + 1] = x; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д