Извините меня, в институте задали практическую написать по способам сортировки.
Мне достался "пузырьковый" метод. В программировании я ноль.
У меня есть массив чисел, к примеру,: 8, 6, 0, 6, 3, 3, 0, 6
Процедуру сортировки содрал из Википедии // _http://ru.wikipedia.org/wiki/Сортировка_пузырьком
- Код: Выделить всё
Flag := true;
while Flag do
begin
Flag := false;
for i := 0 to ElementCnt - 1 do
begin
if TempArray[i] > TempArray[i + 1] then
begin
TempInt := TempArray[i];
TempArray[i] := TempArray[i + 1];
TempArray[i + 1] := TempInt;
Flag := true;
end;
end;
end;
После сортировки:
- Код: Выделить всё
исходный 8, 6, 0, 6, 3, 3, 0, 6
выходной 0, 0, 0, 3, 3, 6, 6, 6
Если ещё раз нажать на кнопку, по которой вызывается процедура сортировки,
то всё встанет на свои места:
- Код: Выделить всё
исходный 8, 6, 0, 6, 3, 3, 0, 6
выходной 0, 0, 3, 3, 6, 6, 6, 8
Причём такое бывает не всегда, иногда сразу нормально сортирует,
а нажмёшь ещё раз на кнопку сортировки - опять 0 впереди добавляется,
ещё раз нажмёшь - всё в порядке и все последующие нажатия всё хорошо.
Может я с псевдокода неправильно чего перевёл? Не знаю...
Помогите пожалуйста