Сортировку массива осуществим с помощью метода «пузырька». Метод заключается в том, что попарно сравниваются элементы массива, начиная с первых двух. Если последующий элемент меньше предыдущего, то они меняются местами. После этого аналогично сравнивается третий элемент и больший из двух предыдущих, затем четвертый и больший из двух предыдущих и т.д. до конца массива. После этого вся описанная процедура повторяется заново для полученного на предыдущем этапе массива и т.д. до тех пор, пока больше не будет происходить перестановок элементов массива. Таким образом, максимальный элемент массива как будто бы «всплывает» как пузырек к концу массива, за ним – следующий по значению и т.д.
Псевдокод:
| |
| | | алг сорт (аргтабцел N, аргтабвещ X[1:N], резтабвещ M[1:N])
начцел i, k
| ввод N, X[1:N]
| M[1:N]:=X[1:N]
| k:=1
| нцпока k=1
| | k:=0
| | нцдля i от 2 до N
| | | если M[i-1]>M[i]
| | | | то b:=M[i]
| | | | M[i]:=M[i-1]
| | | | M[i-1]:=b
| | | | k:=1
| | | все
| | кц
| кц
| вывод M
кон
| |
Данный алгоритм, как это видно из его описания, содержит в себе вложенный цикл (цикл со счетчиком – цикл «для» внутри цикла с предусловием – цикла «пока»).
Развёрнутая схема алгоритма (самостоятельно):
Схема с альтернативными обозначениями циклов (самостоятельно):