Algoritme/Pascal Hjælp

Tags:    delphi

Hej!

Jeg har her en algoritme på engelsk, vis' funktion jeg ikke kender. Hvad gør den?:

Input n, K(i), i=1, 2, 3,..., n

Algorithm Bubble
i 7 n-1 [Position of last comparison]
repeat
for j=1 to i
if K(j) > K(j)+1 then K(j) : K(j)+1 [: denotes interchange]
endfor
i 7 i - 1
endrepeat when i=0

Output K1, K2 , ....., Kn
[In lexical order ]

Håber I vil hjælpe og forklare lidt!



1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Hej!

Jeg har her en algoritme på engelsk, vis' funktion jeg ikke kender. Hvad gør den?:


Det ligner en BubbleSort algoritme. Normalt ser den sådan her:

<pre>
for i := 0 to Last - 1 do
for j := Last - 1 downto i + 1 do
if Arr[j] > Arr[j - 1] then
Swap(Arr[j], Arr[j - 1]);
</pre>

Arr er et array af f.eks. integer eller en hvilken som helst anden type. Swap() er en funktion man selv skal lave til at bytte om på de to elementer. Du kan evt. læse http://www.udvikleren.dk/new_show_article.php?id=99 for at finde ud af hvordan BubbleSort algoritmer fungerer.




t