---
# System prepended metadata

title: Exercícios extras - Divisão e Conquista

---

# Exercícios extras - Divisão e Conquista
## Gabriel Bernardo Martins - 0057757
### Exercício 2

```javascript

function mergeSort(array) { 

    console.log();
    console.log("---");
    console.log(array)

    if (array.length > 1) { // Bloco de controle
        const meio = Math.floor(array.length / 2); 
        const parte1 = mergeSort(array.slice(0, meio));
        const parte2 = mergeSort(array.slice(meio, array.length));
        array = ordena(parte1, parte2);  
    }
    return array;
} 

function ordena(parte1, parte2) {
    let posicaoAtualParte1 = 0;
    let posicaoAtualParte2 = 0;
    const resultado = [];
    while (posicaoAtualParte1 < parte1.length && posicaoAtualParte2 < parte2.length) {
        let atualParte1 = parte1[posicaoAtualParte1];
        let atualParte2 = parte2[posicaoAtualParte2];
        if (atualParte1.preco < atualParte2.preco) {
            resultado.push(atualParte1);
            posicaoAtualParte1++;
        } else {
            resultado.push(atualParte2);
            posicaoAtualParte2++;
        }
    }
    return "fim" ;
}


var vetor = [1, 2, 3, 4, 5, 6];
console.log(mergeSort(vetor));

```