Быстрая сортировка, необходим счетчик перестановок - PascalABC.NET
Формулировка задачи:
Куда в этой программе неоходимо вставить счетчик перестановок? и потом вывести его.
Решение задачи: «Быстрая сортировка, необходим счетчик перестановок»
textual
Листинг программы
program n1; const n = 7; var i, j, c, k4: integer; a: array[1..n] of integer; var Counter: Integer := 0; procedure qSort(nStart, nEnd: integer); var L, R, c, X, k3, k4: integer; begin k3 := 0; if nStart >= nEnd then Exit; L := nStart; R := nEnd; X := A[(L + R) div 2]; while L <= R do begin while a[L] < X do L := L + 1; while a[R] > X do R := R - 1; if L <= R then begin c := A[L]; a[L] := A[R];A[R] := c; Inc(Counter); // В момент совершения перестановки и увеличиваешь счетчик L := L + 1;R := R - 1; end; end; qSort(nStart, R); qSort(L, nEnd); end; begin writeln('Введите массив'); for i := 1 to n do read(a[i]); qSort(1, n); for j := 1 to n do write(a[j], ' '); writeln; writeln('Перестановок:', Counter); end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д