Skip to main content

Vad är array -sortering?

Array -sortering är processen att ta de enskilda elementen i en matris och ordna dem i någon typ av logisk ordning enligt en serie regler som definieras av användaren.Processen innebär att gå genom matrisen, ett element i taget och testa det elementet mot de omgivande elementen för att avgöra om det måste flyttas till ett annat index inom matrisen.När du utför array -sortering finns det flera algoritmer som kan användas, särskilt när sorteringsförhållandena är numeriska i motsats till något mer godtyckligt.De flesta array-sorterande algoritmer mäts med deras hastighet och effektivitet, med de långsammaste algoritmerna som är den enklaste att programmera och det snabbaste är mycket mer komplex.

Den enklaste array-sorterande algoritmen kallas en bubbelsorter, och det är också det långsammaste är det långsammaste.Processen börjar med en slinga som kommer att gå igenom varje element i matrisen.Det aktuella elementet jämförs med nästa element i matrisen och, om nästa element är lägre i värde än det aktuella elementet, är data i indexen byts.Nackdelen med en bubbelsorter är att den måste slinga genom matrisen flera gånger för att göra alla nödvändiga byten för att sortera matrisen.I de mest grundläggande implementeringarna kommer sorten att slinga genom hela matrisen en fullständig tid för varje element som den innehåller.

En urvalssortering använder en algoritm som utför array -sortering på något mer effektivt sätt än en bubbelsorter men kräver fortfarande flera iterationergenom matrisen.Den här typen börjar med att slinga genom matrisen för att hitta det lägsta värderade elementet.Detta element placeras sedan i det första indexet för matrisen och vissa spårningsvariabler ökas.Cykeln upprepar sedan och letar nu efter nästa lägsta värde som sedan kommer att placeras i matrisens andra index.Processen fortsätter tills det högsta värdelementet placeras i det sista indexet för matrisen.

En metod för array-sortering som kan vara effektiv men ibland komplex att implementera kallas en kvicksort.QuickSorting innebär att man tar ett värde som är mitt i alla möjliga värden som finns i matrisen.Algoritmen går genom alla elementen i matrisen och sätter alla värden större än mediannumret i slutet av matrisen och lägre värden i början.Denna process utförs rekursivt på blocken av matrisen tills hela arrayen i slutet sorteras.Förutsatt att mittvärdet som används för matrisen är ganska korrekt, kan detta vara ett mycket snabbt sätt att sortera.

En faktor som kan påverka en matris-sorteringsalgoritm är det sätt som data testas för ekvivalens.Enkla siffror är enkla att jämföra för vilket värdet är större, men detta kanske inte är fallet för komplexa dataklasser där flera förhållanden måste jämföras.Ju längre tid det tar att jämföra om ett element är större än eller mindre än ett annat, desto längre kommer det att ta för algoritmen att sortera matrisen.