Programmører, der skifter fra pc og web udvikling i koder for mobile enheder eller indlejrede systemer finder , at mere tid bliver brugt udvælgelse og kodning deres egne datastrukturer og algoritmer . Med mindre hukommelse og begrænsede data storage , er der ikke plads til præ-bygget biblioteker eller rammer. Så for dem, der skal skrive deres egne sortering rutiner , er her nogle overvejelser om valg af den ringe boble slags. Baggrund
boble art er en simpel algoritme, der sorterer en liste over emner i hukommelsen. Givet et array, gentagne koden sammenligner hvert par af tilstødende elementer og swaps dem, hvis de ikke er i orden. Processen gentages , indtil der ikke mere swaps forekomme. Hvis det var muligt at se array mens den slags er i gang , de lave værdier ville " boble" til toppen , mens de store værdier ville synke til bunds . Her er den relevante kode i Visual Basic 2010 : Hej
swap = Sand
swap = False
For i = 0 Til tbl.length - 2
< p > Hvis TBL ( i) > tbl (i + 1) Så
tmp = tbl ( i)
tbl (i) = tbl (i + 1)
TBL (i + 1) = tmp
swap = Sand
End If
Næste
End Mens
Når at vælge den Bubble Sort
Denne algoritme har flere fordele. Det er nemt at skrive , let at forstå , og det tager kun et par linjer kode. Dataene sorteres på plads, så der er lidt hukommelse overhead og , når sorteres , er dataene i hukommelsen , klar til forarbejdning. Den største ulempe er den mængde tid, det tager at sortere . Den gennemsnitlige tid stiger næsten eksponentielt som antallet af tabellen elementer stigning . Ti gange antallet af poster finder næsten hundrede gange så lang tid at sortere .
Andre Array Sorterer
Sortering algoritmer varierer i kompleksitet , hastighed og overhead. Boblen slags er den mindst komplekse, men også en af de langsomste . Andre matrix -baserede sorterer ligesom indsættelsen sortere og udveksling sortere er lidt hurtigere, men tage mere kode (se referencerne nedenfor). Den største fordel ved array- baserede slags er , at de bruger mindst kode og tage den mindste mængde af arbejde hukommelse . Overvej disse former for simple arrays med mindre end et par hundrede punkter .
Komplekse Sorter Algoritmer
Større datasæt kræver en mere kompleks kode og mere hukommelse. Den hurtige sortere og heap sortere både split og kopiere datasæt at optimere antallet af sammenligninger. Den hurtig sort dividerer fortløbende listen derefter reassembles det i sorteret orden . Den bunke sortere kopierer data ind i en træstruktur , så krydser træet at kopiere dataene tilbage i orden . Begge er hurtige og effektive, men tager mere kode og meget mere arbejde opbevaring. Vælg disse algoritmer til store datasæt .