FROM QUESTIONS AFTER CLASS... ============================= Suppose we start with: head ↓ [10|→] → NULL Then we add a new node with the value 9. int* a_new_value = malloc(sizeof(*a_new_value)); *a_new_value = 9; pq_enqueue(&head, a_new_value, cmp_fn); The new node will become the new head of the list. To do that, we will write the address of the new node at address head. head ↓ [9|→] → [10|→] → NULL Then, we add a new node with the value 11. a_new_value = malloc(sizeof(*a_new_value)); *a_new_value = 11; pq_enqueue(&head, a_new_value, cmp_fn); head ↓ [9|→] → [10|→] → [11|→] → NULL