#include "ListOfNumber.h" //--------------- // Data Example //--------------- ListOfNumber *empty = 0; ListOfNumber list1 = { 5, empty }; ListOfNumber list2 = { 7, &list1 }; ListOfNumber list3 = { 2, &list2 }; ListOfNumber list4 = { 3, &list3 }; ListOfNumber list5 = { 1, &list4 }; //-------------------------------------------------------------------------- // @param L a list of number // @return number of nodes in a list // @description Determine the number of nodes in a list // @contract nNode : ListOfNumber -> int // @example nNode(empty) == 0 // @example nNode(list1) == 1 // @example nNode(list2) == 2 //-------------------------------------------------------------------------- int nNode(ListOfNumber *L) { if (L == 0) { return 0; } else { return 1 + nNode(L->rest); } }