BOBLE SORM è uno degli algoritmi di smistamento più semplici che confronta due elementi fianco a fianco e ordina l'array in ordine ascendente o in ordine decrescente. 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.
Supponiamo che abbiamo un array non senza prestito e ci viene chiesto di ordinare l'array in qualsiasi ordine previsto (i.e. ascendente o discendente). Quindi abbiamo più algoritmi di smistamento, per ordinare quell'array come l'ordinamento della bolla, l'inserimento, ecc. A tale scopo, possiamo usare uno di questi algoritmi poiché tutti gli algoritmi produrranno lo stesso risultato. Questo articolo affronterà l'ordinamento della bolla con esempi.
Funzionante di bolle
Inizia a funzionare confrontando l'indice sinistro con l'indice destro. Inizialmente, confronterà i primi due indici dell'array (il valore inserito all'indice 0 verrà confrontato con il valore posizionato su indice 1). 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, all'indice 0 il valore è 8. Il valore dell'indice 1 è 3 e 1 è posizionato all'indice 3 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 ° indice i.e. 3 con il valore del terzo indice che è -1. I valori verranno nuovamente scambiati poiché 3 è maggiore di -1:
Il valore del terzo indice è 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 è 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 è 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, inferiore al valore del primo indice che è 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:
funzione BubbleSort (Ary)Nel codice di cui sopra, abbiamo creato un array chiamato "Ary" e ci abbiamo assegnato alcuni dati ad esso. Quindi abbiamo creato una funzione denominata Bubblesort e abbiamo passato l'array ad esso. Una variabile denominata "flag" viene inizialmente assegnata con un valore "false". Successivamente, il per loop viene inizializzato con 0 e eseguirà fino a quando non è inferiore alla lunghezza dell'array. I per amatoli nidificati vengono utilizzati 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. Infine, l'array viene chiamato usando la funzione BubbleSort. 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.