Hva er array sortering?
Array -sortering er prosessen med å ta de individuelle elementene i en matrise og ordne dem i en eller annen form for logisk rekkefølge i henhold til en serie regler definert av brukeren. Prosessen innebærer å gå gjennom matrisen, ett element om gangen, og teste det elementet mot de omkringliggende elementene for å avgjøre om det må flyttes til en annen indeks i matrisen. Når du utfører array -sortering, er det flere algoritmer som kan brukes, spesielt når sorteringsforholdene er numeriske i motsetning til noe mer vilkårlig. De fleste array-sorting-algoritmer måles med deres hastighet og effektivitet, med de tregeste algoritmene som den enkleste å programmere og den raskeste er mye mer kompleks.
Den enkleste matrise-sortingsalgoritmen kalles en boble-sortering, og den er også den tregeste. Prosessen begynner med en sløyfe som vil gå gjennom hvert element i matrisen. Det nåværende elementet sammenlignes med neste element i matrisen, og hvis neste element er Lower i verdi enn det gjeldende elementet, dataene på indeksene byttes. Ulempen med en boble -sortering er at den må sløyfe gjennom matrisen flere ganger for å lage alle nødvendige bytter for å sortere matrisen. I de mest grunnleggende implementeringene vil typen sløyfe gjennom hele matrisen en komplett tid for hvert element den inneholder.
Et utvalgssorter bruker en algoritme som utfører matrise -sortering på en litt mer effektiv måte enn en boble -sortering, men som fremdeles krever flere iterasjoner gjennom matrisen. Denne typen starter med å sløyfe gjennom matrisen for å finne det laveste verdsatte elementet. Dette elementet blir deretter plassert i den første indeksen for matrisen, og noen sporingsvariabler økes. Syklusen gjentar da, og ser nå etter den neste laveste verdien som deretter blir plassert i den andre indeksen for matrisen. Prosessen fortsetter til elementet med høyest verdi er plassert i siste INDeks av matrisen.
En metode for array -sortering som kan være effektiv, men noen ganger kompleks å implementere er kjent som en kvikksort. Quicksorting innebærer å ta en verdi som er i midten av alle mulige verdier som holdes i matrisen. Algoritmen går gjennom alle elementene i matrisen og setter alle verdier større enn median tallet på slutten av matrisen, og senker verdiene i begynnelsen. Denne prosessen utføres rekursivt på blokker av matrisen til på slutten hele arrayen er sortert. Forutsatt at mellomverdien som brukes til matrisen er ganske nøyaktig, kan dette være en veldig rask måte å sortere på.
En faktor som kan påvirke en array-sorting-algoritme er midlene som dataene testes for ekvivalens. Enkle tall er enkle å sammenligne for hvilken verdi er større, men dette er kanskje ikke tilfelle for komplekse dataklasser der flere forhold må sammenlignes. Jo lenger det tar å sammenligne om ett element er større enn eller mindre enn et annet, LONGer det vil ta for algoritmen å sortere matrisen.