Programmerare som byter från PC och webbutveckling i kodning för mobila enheter eller inbyggda system finner att mer tid ägnas åt att välja och kodning sina egna datastrukturer och algoritmer . Med mindre minne och begränsade datalagring , det finns inget utrymme för färdiga bibliotek eller ramverk . Så för dem som behöver skriva sina egna sortering rutiner , här är några överväganden om att välja de ringa bubblan sort . Bakgrund
Bubblan sort är en enkel algoritm som sorterar en lista med objekt i minnet . Med tanke på en array, jämför koden upprepade gånger varje par av närliggande poster och swappar dem om de inte är i ordning. Processen upprepas tills inga fler swappar inträffar. Om det vore möjligt att visa arrayen medan sorteringen pågår , de låga värdena skulle " bubbla" till toppen medan de stora värdena skulle sjunka till botten . Här är den aktuella koden i Visual Basic 2010:
swap = Sant swap
= False
För i = 0 Till tbl.length - 2 Review
Om tbl ( i) > tbl (i + 1 ) Then
tmp = tbl (i ) katalog
tbl (i) = tbl (i + 1 ) katalog
TBL (i + 1 ) = tmp
swap = Sant
End If
Nästa
Slut Medan Addera När att välja Bubble Sort
Denna algoritm har flera fördelar . Det är enkelt att skriva , lätt att förstå och det tar bara några få rader kod . Uppgifterna sorteras på plats så det finns lite minne overhead och när sorteras , är data i minnet , redo för bearbetning . Den största nackdelen är den tid det tar att sortera. Den genomsnittliga tiden ökar nästan exponentiellt med antalet tabellen element ökar . Tio gånger antalet objekt tar nästan hundra gånger så lång tid att sortera .
Andra Array Sorterar
sorteringsalgoritmer varierar i komplexitet , snabbhet och overhead . Bubblan sort är den minst komplicerat utan också en av de långsammaste . Andra array - baserade sorter som införandet sortera och utbyte sort är lite snabbare men tar mer kod ( se referenser nedan ) . Den största fördelen med array - baserade sorter är att de använder minst koden och ta kortast av arbetsminnet . Anser att dessa typer av enkla arrayer med mindre än ett par hundra artiklar .
Komplexa Sortera Algoritmer
Större datamängder kräver mer komplex kod och mer minne . Den snabba sortera och heap sort både split och kopiera datamängder att optimera antalet jämförelser . Den snabba Sortera dividerar listan sedan slår samman det i sorterad ordning . Högen sort kopierar data till en trädstruktur sedan korsar trädet att kopiera data tillbaka i ordning . Båda är snabba och effektiva , men tar mer kod och mycket mer arbetsminne . Välj dessa algoritmer för stora datamängder .