Descreva o que fazem as funções abaixo. int count(link x) { if (x == NULL) return 0; return 1 + count(x->next); } void traverse(link h) { if (h == NULL) return; imprima_item(h); /* Imprime o item na celula apontada por h */ traverse(h->next); } void traverseR(link h) { if (h == NULL) return; traverseR(h->next); imprima_item(h); /* Imprime o item na celula apontada por h */ } link delete(link x, tipoItem v) { if (x == NULL) return NULL; if (eq(x->item, v)) /* testa igualdade entre itens */ { link t = x->next; free(x); return t; } x->next = delete(x->next, v); return x; }