BOBLE Ordina in JavaScript

BOBLE Ordina in JavaScript
Supponiamo di avere un array non senza prestito e ci viene chiesto di ordinare l'array in qualsiasi ordine ascendente o discendente. Bubble Ord è uno degli algoritmi di smistamento più semplici che confronta due elementi fianco a fianco e ordina l'array. Numerosi algoritmi sono disponibili per ordinare gli array, come ordinamento di selezione e unire, ecc. In questo articolo, impareremo come utilizzare Bolle Ording per ordinare gli elementi dell'array.

Funzionante di bolle

Supponiamo di voler ordinare il nostro array in ordine crescente. Inizia a funzionare confrontando l'indice sinistro con l'indice destro. Inizialmente, confronterà i valori dei primi due indici dell'array. Il valore dell'indice 0 ° verrà sostituito solo quando il primo indice ha un valore inferiore al valore dell'indice 0 °. Successivamente, confronterà il valore dell'indice 1 con il valore dell'indice 2 e così via.

Supponiamo di avere il seguente array non preventivo:

Sappiamo che negli array l'indicizzazione inizia da 0. Quindi inizialmente, "8" è memorizzato al 0 ° indice, "3" è memorizzato al primo indice, "1" è memorizzato al secondo indice e così via. Ora, dobbiamo ordinare questo array in ordine crescente come mostrato nell'array di seguito:

Ora spiegheremo il funzionamento del tipo di bolle passo dopo passo.

Passo 1

All'inizio, l'indice 0 porta 8 mentre l'indice 1 trasporta 3. Poiché dobbiamo ordinare l'array in ordine crescente, pertanto, il valore dell'indice 0 verrà sostituito con il valore dell'indice 1. Ora, l'array aggiornato sarà:

Ora il valore dell'indice 1 verrà confrontato con il valore dell'indice 2. Il valore dell'indice 1 è 8 mentre il valore dell'indice 2 è 1 che è inferiore a 8, quindi verrà scambiato e l'array verrà modificato come:

Ora faremo un confronto tra indice 2 e indice 3. Il valore dell'indice 2 è 8 che è maggiore del valore dell'indice 3 che è 2, quindi i valori verranno scambiati:

Ora confronta il valore dell'indice 3 con il valore dell'indice 4. All'indice 3 il valore è 8 mentre al valore dell'indice 4 è -1, il che significa che entrambi questi valori verranno scambiati:

Infine, il valore dell'indice 4 verrà confrontato con il valore dell'indice 5. Ancora una volta 8 è maggiore di 7, quindi verrà sostituito con 7:

Ora, la prima iterazione è completa e "8" raggiunge la sua posizione appropriata. Quindi, nel passaggio successivo, i confronti verranno effettuati fino al 4 ° indice poiché il valore dell'ultimo indice viene ordinato.

Passo 2:

Ora, i primi due indici verranno confrontati. Il valore del 1 ° indice è inferiore al valore dell'indice 0th Pertanto i valori verranno scambiati:

Successivamente, confronteremo il valore del primo indice con il valore del 2 ° indice. Qui, 3 è maggiore di 2, quindi verrà sostituito con 2:

Ora confronteremo il valore del 2 ° e 3 ° indice i.e. 3 (al 2 ° indice) con il valore del 3 ° indice che è -1. I valori verranno nuovamente scambiati poiché 3 è maggiore di -1:

Il valore del terzo indice è già inferiore al valore del 4 ° indice, quindi rimarrà lo stesso:

Ora gli ultimi due indici sono ordinati e i valori sono posizionati correttamente sui 4 ° e 5 ° indici.

Passaggio 3:

Ora in questa iterazione, inizialmente il valore dell'indice 0 ° verrà confrontato con il valore del primo indice. Qui, il valore dell'indice 0 ° è 1 che è già inferiore al valore del primo indice che è 2. Quindi, questi valori rimarranno gli stessi.

Successivamente, confronta i prossimi due indici, qui il valore del primo indice è maggiore del valore del 2 ° indice Pertanto, i loro valori verranno scambiati:

Il valore del 2 ° indice è già inferiore al valore del 3 ° indice Pertanto, i loro valori non verranno scambiati:

Passaggio 4:

Confronta i primi due indici. Il valore dell'indice 0 ° è 1, che è inferiore al valore del primo indice (-1), quindi verrà scambiato:

Successivamente, confronteremo il valore del primo indice con il valore del 2 ° indice. Sono già ordinati, quindi rimarranno gli stessi:

Infine, il nostro array è ordinato in ordine crescente.

Implementazione dell'ordinamento a bolle in javascript

Dato che abbiamo capito come funziona la bolle, ora implementeremo questa logica in JavaScript usando loop nidificati:

functionBublesort (ary)
leti, j;
varflag = false;
per (i = 0; i
flag = false;
per (j = 0; jary [j + 1])

Vartemp = Ary [J]
ary [j] = ary [j+1];
ary [j+1] = temp;
flag = true;


Se(!bandiera)

rottura;


console.Log (ARY)

varary = [8, 3, 1, 2, -1, 7];
Bubblesort (Ary);

Nel codice sopra offerto, abbiamo creato un array chiamato 'ARY' e assegnato alcuni dati ad esso. Successivamente, abbiamo creato una funzione denominata Bubblesort e ci siamo passati l'array. Una variabile denominata 'bandiera' è inizialmente assegnato con un valore 'Falso'. Questo flag verrà utilizzato per verificare se l'array è completamente risolto o no. Successivamente, il per loop viene inizializzato con 0 e eseguirà fino a quando non è inferiore alla lunghezza dell'array.

Per loop nidificato viene utilizzato per tracciare un confronto del valore all'indice corrente con il valore all'indice adiacente, i valori verranno scambiati solo se il valore dell'indice corrente è superiore al valore presente nel suo indice adiacente. Il valore del flag verrà sostituito con true se viene scambiato un valore durante l'iterazione.

Una volta terminato il ciclo interno, la variabile di flag viene controllata. Se la variabile della bandiera rimane falsa, significa che l'array è già risolto e il ciclo interno non ha cambiato nulla. In tal caso, semplicemente rompere il ciclo.

Infine, l'array viene passato al BubbleSort () funzione. L'output sarà:

Conclusione

Bubble Ord è un algoritmo di smistamento di base che scambia più e più volte gli elementi fianco a fianco fino a quando non sono nell'ordine adeguato. In questo articolo, abbiamo presentato tutte le basi e le conoscenze essenziali necessarie per comprendere il concetto di tipo di bolla in JavaScript. A partire dall'introduzione che descriveva cos'è la bolle e come funziona. Quindi abbiamo fatto un esempio per capire il concetto di tipo di bolle. Inoltre, abbiamo implementato lo stesso esempio in JavaScript e abbiamo discusso del suo lavoro in dettaglio.