|
Subject: Re: [stella] Bubble Sort From: Thomas Jentzsch <tjentzsch@xxxxxx> Date: Tue, 26 Mar 2002 10:45:48 +0100 |
Tim wrote:
>The compare is the other way around! You have
>to change the branch condition.
Yup, my fault. No "magic" involved. :-)
Manuel wrote:
>Uhm... won't work?
>
>The one I posted does a perfect job, unlike yours. See
>the demos I attached :-)
I'm still 100% sure that this algorithm will NOT work.
Example: 3 2 1
- tempVar1 starts with 1 (#MAXOBJECTS-2)
- after the first outer loop you get: 1 3 2
- then tempVar1 is decreased to 0
- in the next (and last) outer loop, the inner loop will only
compare 1 and 3, 2 will not be compared again and therefore
should be already correctly sorted, and that's not the case.
Make your demo a little bit slower, then it might be easier to
spot the sorting errors. And with slower movement, it's also
much easier to evaluate flicker.
BTW: This is a simple Bubble Sort (64'er 4/85):
for i = N-1 downto 1
for j = 1 to i
if (y[j] > y[j+1])
swap(y[j], y[j+1])
And here is the optimized Bubble Sort (according to Knuth):
k = N
repeat
i = k-1
k = 0
for j = 1 to i
if (y[j] > y[j+1])
swap(y[j], y[j+1])
k = j
until k = 0
Have fun!
Thomas
----------------------------------------------------------------------------------------------
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [stella] Bubble Sort, Manuel Polik | Thread | Re: [stella] Bubble Sort, Thomas Jentzsch |
| Aw: Re: [stella] Bubble Sort, cybergoth | Date | Re: [stella] Bubble Sort, Thomas Jentzsch |
| Month |