Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB6: Bubble Sort

tesmu [18.04.2006 08:54:23]

#

Elikkäs bubble sort algoritmi visual-basicilla. Eli on lukuja ja tämä alkoritmi järjestää luvut pienimmästä suurempaan tai suuremmasta pienempään. Saatte bubble sortista lisäinfoa kun pistätte googleen Bubble sort hakusanaksi.

Tarvitset textboxin (Text1) ja command buttonin (Command1).

Private Sub Command1_Click()
    Dim ar() As String 'Taulukkomuuttuja
    Dim a As Long
    Dim b As Long
    Dim c As Long
    Dim i As Long
    Dim x As Long
    Dim Retval As String
    'kapallinen muita muuttujia
    ar = Split(Text1.Text, ",") '_räjäytetään_ text1 taulukkoon
    For i = 0 To UBound(ar) 'eka looppi
        For x = i + 1 To UBound(ar) 'toinen looppi
            a = ar(i) 'a on taulukon i indexi
            b = ar(x) 'b on taulukon x indexi
            If a < b Then ' verrataan että onko a pienempi kuin b jos on niin
            'tehdään niin kutsuttu swap toiminto
            c = ar(i) 'c on taulukon i indexi eli siis otetaan talteen eka arvo
            ar(i) = b 'taulukon i indexi on b
            ar(x) = c 'taulukon x indexi on c
            End If 'iffi on loppu
        Next x 'nextiä
    Next i 'nextiä

    For i = 0 To UBound(ar)
        Retval = Retval & ar(i) & " " 'retvalliin tulostetaan taulukko uudestaan
    Next i
        MsgBox Retval 'näytetään käyttäjälle taulukko
End Sub

Turatzuro [01.05.2006 17:37:29]

#

Nohuh. Tätä ei missään nimessä kannata käyttää ainakaan isommilla tietomäärillä, kuplalajittelu kun on eräs hitaimmista lajittelualgoritmeista.

T.M. [31.05.2006 14:28:47]

#

Huom: 'alkoritmi' on eri asia kuin 'algoritmi'.
Alko- alkuiset sanat liittyvät alkoholeihin. :P

tesmu [01.06.2006 23:32:59]

#

selvä :D

tesmu [01.06.2006 23:34:08]

#

Mutta siis mulle valitettiin jossainvaiheessa ku käytin esim "funktio" sanaa tälleen "functio" ni sitten opettelin käyttämään "funktio" ja se jotenki jäi sitten päälle :E

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta