实施:
bool no_uniq(list_t l);
//E: Returns true if l has no elements that appear only once in l; returns false otherwise
//Ex1: (1,5,1,5,1) -> True
//Ex2: (1,5,1,1) -> False
已经实现的功能:
bool list_isEmpty(list_t list); //True if the list is empty, false otherwise
list_t list_make(); //Make an empty list
list_t list_make(int elt, list_t list); //Make a list with element elt followed by list
int list_first(list_t list); //Retrieve the first element of list
list_t list_rest(list_t list); //Retrieve all elements of list besides the first one
所以我希望能够以尾递归的方式处理这个问题,但是我很难考虑如何将我通常拥有的嵌套循环转换为尾递归函数。我知道一个尾递归调用应该处理“外部”循环,一个应该处理“内部”循环,但是将它们放在一起来解决这个问题似乎几乎是不可能的。任何帮助将不胜感激。