int main() { priority_queue *pq = NULL; int a = 55; int b = 48; int c = 1289; int d = 78; int r = 0; /* 48 is minimal priority queue size */ pq = create_priority_queue( 48, &comparator ); priority_queue_insert( pq, &a ); priority_queue_insert( pq, &b ); priority_queue_insert( pq, &c ); priority_queue_insert( pq, &d ); r = *(int *) priority_queue_poll( pq ); printf("First is %d\n", r); r = *(int *) priority_queue_poll( pq ); printf("Second is %d\n", r); free_priority_queue( &pq ); return EXIT_SUCCESS; }
/* TODO tentar diminuir o numero de passos */ int main(void) { int dimension=3; int **initial = mount_board("./initial_state.txt"); if(initial == NULL) return -1; int **final = mount_board("./final_state.txt"); if(final == NULL) return -1; heap_node *node = NULL; node_queue *queue = NULL; solve_puzzle(initial, final, &node, &queue, dimension); free_matrix(initial, dimension); free_matrix(final, dimension); free_priority_queue(search_root(node)); free_queue(&queue); printf("ok\n"); return 0; }