Na descrição da função mergeSortFilmes está escrito:
mergeSortFilmes(lst, criterio)
Ordena uma lista de filmes utilizando o algoritmo quickSort (???)adaptado para listas encadeadas duplamente ligadas.
Não seria mergeSort?
E também tem:
A funcao so deve utilizar espaco extra O(1).
Hmmm, ok, sem levar em consideracao o espaco O(lg n)
utilizado pela pilha da recursao).
Em outras palavras, a funcao pode conter apenas declaracoes
de umas poucas variaveis (um vetor v[0..n] conta como
n variaveis).
Eu poderia criar uma nova célula cabeça e depois desalocá-la?
O merge deve ser iterativo ou pode-se usar recursão?