Hur man sorterar en matris av heltal korrekt

Hur Man Sorterar En Matris Av Heltal Korrekt



Arrayer är objekt som lagrar flera värden i en enda variabel. Det kan lagra flera datatyper, inklusive heltal, strängar och så vidare. Utvecklare behöver ibland organisera data för att göra det lättare att använda. För att ordna matriselement kan du ordna dem i stigande eller fallande ordning.

Denna handledning kommer att beskriva metoderna för att korrekt sortera en array av heltal.







Hur man sorterar en matris av heltal korrekt?

För att korrekt sortera en matris med heltal, använd följande metoder:



Metod 1: Sortera en matris med heltal korrekt med hjälp av Compare-funktionen i sort()-metoden

För korrekt sortering av en array av heltal, använd jämförelsefunktionen i ' sortera() 'metoden. Jämför-funktionen jämför heltalsvärdena och sorterar dem på deras positioner. Som vi vet sorterar sort()-metoden elementen i lexikografisk eller alfabetisk ordning, vilket kanske inte ger de önskade resultaten för en array av tal.



Syntax





Följ den givna syntaxen för att sortera heltalsmatriser med hjälp av jämförelsefunktionen:

sortera ( fungera ( x,y ) { lämna tillbaka x-y } ) )



Ovanstående syntax:

  • Det returnerade värdet för jämförelsefunktionen är mindre än noll, ' x ' kommer att placeras före ' Y ”.
  • Om värdet som returneras av funktionen är större än noll betyder ett positivt tal, ' Y ' kommer att placeras före ' x ”.
  • Inget element kommer att ändras om (x – y == 0).

Låt oss först se ett exempel när arrayen sorteras med den enda sort()-metoden.

Exempel

Skapa en matris med heltal som innehåller negativa såväl som positiva heltal:

var array = [ - 8 , - 4 , - 12 , - 0 , 23 , 4 , 16 , 8 , 10 , 14 ] ;

Anrop sort()-metoden:

console.log ( array.sort ( ) ) ;

Det kan ses att heltal är sorterade men inte i någon specifik ordning (det är inte i stigande eller fallande ordning):

Använd nu jämförelsefunktionen in sort()-metoden för att sortera elementen i stigande ordning:

console.log ( array.sort ( fungera ( x,y ) { lämna tillbaka x-y } ) ) ;

Det kan observeras att arrayelementen är sorterade i stigande ordning:

Om du vill sortera array i fallande ordning, ändra jämförelsefunktionen:

console.log ( array.sort ( fungera ( x,y ) { lämna tillbaka y-x } ) ) ;

Produktion

Metod 2: Sortera en matris med heltal korrekt med hjälp av bubblesortering

Ett annat tillvägagångssätt för att sortera heltalsmatris är sorteringstekniken. Här, ' Bubblesort ' kommer diskuteras. För bubbelsortering, använd ' medan ” loop som kommer att iterera genom arrayen till dess längd och sortera varje element baserat på villkoret. Bubblesorteringen undersöker två närliggande element/objekt och byter ut dem tills önskad ordning erhålls.

Exempel

Skapa variabler ' i ”,” j, ' och ' temp ' och initiera ' i = 0 ”:

låta i = 0 , d, temp;

För att jämföra element och sortera dem i deras faktiska positioner, använd de två ' medan ” slingor. Den första loopen itererar arrayen tills den når sin längd, medan den andra loopen kontrollerar element och byter ut dem baserat på villkor:

medan ( i < array.length ) {

j = i+ ett ;
medan ( j < array.length ) {
om ( array [ j ] < array [ i ] ) {
temp = array [ jag ] ;
array [ i ] = array [ j ] ;
array [ j ] = temp;
}
j++;
}
i++;
}

Skriv ut den sorterade arrayen på konsolen:

console.log ( array ) ;

Produktion

För att sortera en matris i fallande ordning med hjälp av bubbelsortering, ändra villkoret:

array [ j ] > array [ i ]

Eller

array [ i ] < array [ j ]

Det handlar om att sortera heltalsmatrisen i JavaScript.

Slutsats

För att sortera heltalsmatrisen korrekt, använd ' jämför funktion ' i sort()-metoden eller sorteringstekniken som kallas ' Bubblesort ”. Compare function in sort() metoden jämför heltal i en matris och sorterar dem på deras positioner. På liknande sätt undersöker Bubblesort två två närliggande element/objekt och byter ut dem tills önskad ordning erhålls. Denna handledning beskrev metoderna för att korrekt sortera en array av heltal.