Seenkao писал(а):По идее это вообще ни кому нафиг не надо. Большинство уложатся в разумные пределы массива.
Вот-вот, и ты сам привёл такие (несуществующие) массивы с размерами, не поддерживаемыми индексом for'а, как довод в пользу goto.
Модератор: Модераторы
Seenkao писал(а):По идее это вообще ни кому нафиг не надо. Большинство уложатся в разумные пределы массива.
Seenkao писал(а):думаю дальше продолжать не надо
Seenkao писал(а):Одно то, что её запускаешь и она без ошибок запускается, показывает, что наобум ты программу написать не можешь.
runewalsh писал(а):Ты так говоришь «только», будто 99,99999% кода в мире — твои (и используют goto вместо while), а не наоборот.
runewalsh писал(а):Не-не-не, речь шла про *сортировку массива* (более того, *пузырьком*) Перечитай сам себя:
Сквозняк писал(а):
Прицепились к этому пузырьку, который представляет собой квадратичную функцию с обработкой исключений через goto. А если сортировать массивы с длиной int64, то для компиляции в 32 бита циклы for придётся заменять на циклы goto.
Cортировку массива во внешнем хранилище ты будешь делать другими алгоритмами, чем сортировку массивов в памяти со случайным доступом.
это был не я )))runewalsh писал(а):и ты сам привёл такие (несуществующие) массивы с размерами,
runewalsh писал(а):Да, я уже заметил. Ну путаю вас, сорь. Мне в любом случае надоело.
runewalsh писал(а): из Elona+
Сквозняк писал(а):можете добавлять в вики.
мимо_проходил писал(а):Сквозняк писал(а):можете добавлять в вики.
Лучше сразу на govnocod.ru, вангую оглушительный успех.
Сквозняк писал(а):Вот где говнокод - в классах
PROCEDURE BUBLESORT1(VAR BB3: ARRAY OF BYTE);//СОРТИРОВКА МАССИВА ПО ВОЗРАСТАНИЮ
VAR
Q3: BYTE;
A2,S2,D2: LONGINT;
LABEL
100;
BEGIN
S2:=LENGTH(BB3);
IF S2<2 THEN GOTO 100;
IF S2=2 THEN BEGIN
IF BB3[1]<BB3[0] THEN BEGIN
Q3:=BB3[1];
BB3[1]:=BB3[0];
BB3[0]:=Q3;
END;
GOTO 100;
END;
S2:=S2-2;
FOR D2:=0 TO S2 DO
FOR A2:=0 TO S2 DO IF BB3[A2]>BB3[A2+1] THEN BEGIN
Q3:=BB3[A2+1];
BB3[A2+1]:=BB3[A2];
BB3[A2]:=Q3;
END;
100:
END;
PROCEDURE BUBLESORT1(VAR BB3: ARRAY OF BYTE);//СОРТИРОВКА МАССИВА ПО ВОЗРАСТАНИЮ
VAR
Q3: BYTE;
A2,D2: LONGINT;
BEGIN
FOR D2:=0 TO LENGTH(BB3)-2 DO
FOR A2:=0 TO LENGTH(BB3)-2 DO IF BB3[A2]>BB3[A2+1] THEN BEGIN
Q3:=BB3[A2+1];
BB3[A2+1]:=BB3[A2];
BB3[A2]:=Q3;
END;
END;
мимо_проходил писал(а):Что касаемо вложенных for - пузырёк - сортировка, конечно, непрактичная, но на отсортированных данных она отработает за O(N).
Твой пупырёк на любых данных работает за O(N^2).
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 47