ListNode * FirstMin(ListNode * list) // postcondition: returns pointer to node with minimal value in list // returns pointer to first such node if more than // one node contains the minimal value { ListNode * min = list; // list passed by value, so it can be used // to traverse instead of using another variable while (list != NULL) { if (list->info < min->info) { min = list; } list = list->next; } return min; }