Programmerere som bytter fra PC og webutvikling til koding for mobile enheter eller integrerte systemer finner at mer tid går med å velge og koding sine egne datastrukturer og algoritmer . Med mindre minne og begrenset datalagring, er det ikke rom for pre-bygget biblioteker eller rammeverk . Så for de som trenger å skrive sine egne sorteringsanlegg rutiner , her er noen betraktninger om valg av ydmyk boble slag. Bakgrunn
Boblen sort er en enkel algoritme som sorterer en liste over elementer i minnet . Gitt en matrise, sammenligner koden flere ganger hvert par av tilstøtende elementer og bytter disse om de ikke er i orden. Prosessen gjentas til det ikke flere bytteavtaler forekomme. Dersom det var mulig å vise rekken mens slag er i gang, de lave verdiene ville " boble" til toppen mens de store verdier ville synke til bunns. Her er den aktuelle koden i Visual Basic 2010 : en
Mens bytte = sant
swap = False
For i = 0 For å tbl.length - 2
< p > Hvis tbl ( i) > tbl (i + 1 ) Da
tmp = tbl ( i)
tbl ( i) = tbl (i + 1 )
tbl ( i + 1 ) = tmp
swap = sant
End If
Neste
End While
Når velge Bubble Sorter
Denne algoritmen har flere fordeler . Det er enkelt å skrive , lett å forstå og det tar bare noen få linjer med kode. Dataene er sortert på plass slik at det er lite minnebelastningen og , når sorteres, blir dataene i minnet , klar for behandling . Den store ulempen er hvor lang tid det tar å sortere . Den gjennomsnittlige tiden øker nesten eksponensielt som antall tabellen elementer økning . Ti ganger så mange elementer tar nesten hundre ganger så lang tid å sortere.
Andre Array Sorterer
sortering algoritmer varierer i kompleksitet , hastighet og overhead. Boblen slag er den minst komplekse, men også en av de langsomste . Andre rekke - baserte sorterer som innsetting sortere og utveksle slag er litt raskere, men ta mer kode ( se referansene under) . Den største fordelen med matrise - baserte slag er at de bruker minst koden og ta minst mulig arbeidsminnet . Disse sorterer for enkle matriser med mindre enn et par hundre gjenstander .
Komplekse Sorter Algoritmer
Større datasett krever mer kompleks kode og mer minne . Den rask sortering og heap sortere både splitt og kopiere datasett for å optimalisere antall sammenligninger . Den rask sortering deler fortløpende listen da reassembles det i sortert rekkefølge . Haugen slags kopierer dataene inn i en trestruktur deretter traverserer treet for å kopiere dataene tilbake i orden . Begge er rask og effektiv, men ta mer kode og mye mer arbeidende lagring. Velg disse algoritmene for store datasett .