Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ помогите разобраться в сортировке

Автор: goatsee 21.06.2007 17:48

пузырьковая сортировка, самая простая, но помогите я до конца ее не понял=(

Код

Type  
arrType = Array[1 .. n] Of Integer;
Procedure Bubble(Var ar: arrType; n: integer);

Var i, j, T: Integer;
Begin  
For i := 1 To n Do  {1}
For j := n DownTo i+1 Do     {2}                                  
If ar[Pred(j)] > ar[j] Then Begin {3}        
T := ar[Pred(j)]; ar[Pred(j)] := ar[j]; ar[j] := T   {4}  
End
End;

ясно, что за [1,1] и [1,2], и после сравнени, он произведет замену, так чтоли? за счет перебора 1 и 2 пройдется по всему массиву! на 2мерный массив, чего не хватает, все не могу понять?

Автор: volvo 21.06.2007 19:31

Цитата
на 2мерный массив, чего не хватает
Корректного задания! Если одномерный массив можно отсортировать только по возрастанию/убыванию, то двумерный - по возрастанию/убыванию элементов в строке/столбце, сквозной сортировкой (сортировка в определенном направлении всех элементов, начиная от a[1, 1] и заканчивая a[n, n]), да мало ли как...

Я тебя просил привести массив ДО сортировки, и массив ПОСЛЕ нее (понимаешь, данные, ДАННЫЕ, а не описание - это идет сюда, "здесь не играть, тут рыбу заворачивали" (С)), ты же мне показал какой-то кусок программы. Чего он мне поможет, если ты не соизволил сказать, что ты вводишь-то в качестве данных...