Смотря какой длины массив. Если не очень размерный, тогда можно сортировать его методами пузырька или прямого выбора, что ещё быстрее, хотя оба метода имеют одинаковую алгоритмическую сложность О(n²), где n - число элементов массива. Если же он состоит из сотен тысяч или миллионов компонент, то пузырьковая сортировка, естественно, сразу отпадает. А вот пример как её можно реализовать:
uses crt;
var a, b, c, i, j, n: integer;
X: array of longint;
procedure print();
begin
j := 0;
for i := 0 to n do
begin
inc(j);
write(X[i]: 7);
if j = 10 then
begin
j := 0;
writeln
end
end;
if j > 0 then writeln
end;
begin
textbackground(white);
textcolor(black);
clrscr;
write('a b N » ');
readln(a, b, n);
randomize();
setlength(X, N);
dec(n);
c := b + 1 - a;
for i := 0 to n do X[i] := a + random(c);
writeln('Исходный рандомный массив:');
print();
for i := 1 to n do
for j := n downto i do
if X[j - 1] > X[j] then
begin
c := X[j - 1];
X[j - 1] := X[j];
X[j] := c
end;
writeln('Массив после сортировки по возрастанию:');
print()
end.
ᅠ ᅠГуру (3153)
11 месяцев назад
program test_1;
var i, j, n: integer;
arr: array[0..9] of integer = (3, 4, 7, 1, 8, 2, 5, 4, 6, 9);
begin
for i := 0 to 8 do
for j := i + 1 to 9 do
if arr[i] < arr[j] then
begin
n := arr[i];
arr[i] := arr[j];
arr[j] := n;
end;
for i := 0 to 9 do
writeln(arr[i]);
end.
А можете пояснить этот код? Что и куда подставляется из значений вместо переменных?