45_5d
W tym zadaniu zajmujemy się algorytmami działającymi na n-elementowej tablicy liczb całkowitych A[1..n], gdzie n jest dodatnią liczbą całkowitą.
Poniżej zapisano rekurencyjną procedurę W, której parametrem jest liczba całkowita j z przedziału [1, n].
<pre>
procedura W( j ):
jeśli j > 1 to:
jeśli A[ j ] < A[ j – 1] to:
v ← A[ j ]
A[ j ] ← A[ j – 1]
A[ j – 1] ← v
W( j – 1)
</pre>
Poniższe algorytmy S1 i S2 różnią się tylko kolejnością wywoływania procedury W.
Algorytm S1: dla i = 2, …, n wykonaj W( i )
Algorytm S2: dla i = n, n-1, …, 2 wykonaj W( i )
W pseudokodzie lub w wybranym języku programowania zapisz nierekurencyjną wersję procedury W.