|
| sortering af array Fra : Peter |
Dato : 18-07-02 13:33 |
|
Hej
Jeg har et array
(a,b,a,c,b,c,a)
Jeg vil gerne sortere det så det bliver
(a,a,a,b,b,c,c)
Hvad gør en klog mand ?
--
Venlig hilsen
Peter Heinzl
www.cgi-shop.dk - www.123-game.com - www.123-poll.com
| |
Kim Bach Petersen (18-07-2002)
| Kommentar Fra : Kim Bach Petersen |
Dato : 18-07-02 14:55 |
|
> Jeg har et array
> (a,b,a,c,b,c,a)
> Jeg vil gerne sortere det så det bliver
> (a,a,a,b,b,c,c)
En mulighed kunne være at bytte parvist på den måde, at man løber arrayet
igennem og hvis Array(plads)>Array(plads+n) bytter man indholdet af de to.
Det gøres i et gennemløb sådan at Array(0) først tjekkes op mod de øvrige,
dernæst Array(1) og så fremdeles. Når man har byttet kan man hoppe en plads
frem.
For dit eksempel giver det følgende udvikling:
aaaaa
baaaa
abaaa
cccba
bcbcb
ccccc
aabbc
Sig til, hvis du ikke lige kan gennemskue det, så laver jeg et kodeeksempel.
I asp.net er det btw meget let, iden array har knyttet metoder som Sort og
Reverse til sig, så man let kan ordne et array.
Kim
--
· www.kensho.dk · psykologi og spiritualitet ·
| |
Kim Bach Petersen (18-07-2002)
| Kommentar Fra : Kim Bach Petersen |
Dato : 18-07-02 15:14 |
|
> Sig til, hvis du ikke lige kan gennemskue det, så laver jeg et
kodeeksempel.
Hmm, jeg blev lige bidt af opgaven, så her er et løsningsforslag:
Dim MyArray() As String = {"a","b","a","c","b","c","a"}
Dim Temp As String
Dim i As Integer
Dim j As Integer
For i = 0 To UBound(MyArray)-1
For j = 1 To UBound(MyArray)-i
If MyArray(i) > MyArray(i+j) Then
Temp = MyArray(i)
MyArray(i) = MyArray(i+j)
MyArray(i+j) = Temp
Exit For
End If
Next
Next
Kim
| |
Kim Bach Petersen (18-07-2002)
| Kommentar Fra : Kim Bach Petersen |
Dato : 18-07-02 15:20 |
|
Og hvis det skal virke altid, så slet lige linien:
> Exit For
Kim
| |
Jakob Andersen (18-07-2002)
| Kommentar Fra : Jakob Andersen |
Dato : 18-07-02 17:16 |
|
"Peter" <peter@cgi-shop.dk> wrote in message
news:3d36b885$0$12669$edfadb0f@dspool01.news.tele.dk...
> Jeg har et array
> (a,b,a,c,b,c,a)
> Jeg vil gerne sortere det så det bliver
> (a,a,a,b,b,c,c)
> Hvad gør en klog mand ?
En klog mand kigger her:
< http://activedeveloper.dk/julekalender/julegaver/bubble.asp>
--
Jakob Andersen
| |
Tobias Hinnerup (20-07-2002)
| Kommentar Fra : Tobias Hinnerup |
Dato : 20-07-02 08:01 |
|
"Peter" <peter@cgi-shop.dk> wrote in message
news:3d36b885$0$12669$edfadb0f@dspool01.news.tele.dk...
> Hej
>
> Jeg har et array
> (a,b,a,c,b,c,a)
> Jeg vil gerne sortere det så det bliver
> (a,a,a,b,b,c,c)
>
Der er bunkvis af sorteringsalgoritmer ude på www'et:
http://www.hinnerup.net/2002/experiments/quicksort/
/Tobias
| |
|
|