mergeSort(lista)
if lista.tamaño = 1
return lista[0]
listaIz = creaLista[lista[0] … lista[mitad]]
listaDer = creaLista[lista[mitad + 1] … lista[lista.tamaño]]
hacer en paralelo:
listaIzquierda = mergeSort(listaIzquierda)
listaDerecha = mergeSort(listaDerecha)
return merge(listaIzquierda, listaDerecha)
merge(listaIz, listaDer)
listaUnida = []
hacer en paralelo:
añadir elementos de listaIz y listaDer a listaUnida
return listaUnida