Professional Documents
Culture Documents
ESD - Heapsort Lista Duplamente Encadeada
ESD - Heapsort Lista Duplamente Encadeada
h>
#include <stdlib.h>
if (maior != i) {
trocar(arr[i], arr[maior]);
maxHeapify(arr, tamanho, maior);
}
}
temp = head;
for (int i = 0; i < tamanhoLista; i++) {
arr[i] = temp;
temp = temp->next;
}
heapSort(arr, tamanhoLista);
temp = head;
for (int i = 0; i < tamanhoLista; i++) {
temp->data = arr[i]->data;
temp = temp->next;
}
free(arr);
}
int main() {
Node* head = NULL;
inserirInicio(&head, 12);
inserirInicio(&head, 11);
inserirInicio(&head, 13);
inserirInicio(&head, 5);
inserirInicio(&head, 6);
inserirInicio(&head, 7);
ordenarLista(head);
return 0;
}