Faça uma função para retornar o número de nós da lista que possuem valor maior que
.
Passo 1
O enunciado pede uma função que, dada uma lista simplesmente ligada e um valor inteiro
, retorne quantos nós dessa lista têm seu campo valor maior que
. O conteúdo aqui é percorrer uma lista ligada e acumular um contador quando a comparação for verdadeira.
Passo 2
Vamos definir a assinatura da função, assumir que cada nó é do tipo “No” com campos “valor” e “next”. Inicializamos um contador
e um ponteiro auxiliar apontando para o início da lista.
Passo 3
Fazemos um laço enquanto o ponteiro auxiliar (chamado aqui de “current”) não for nulo: a cada iteração, comparamos
com
. Se for maior, incrementamos o contador.
Passo 4
Ao final do laço, retornamos o valor de
, que já contém a quantidade de nós cujo valor excede
.
Resposta
int contarNosMaiores(No* head, int n) {
int count = 0;
No* current = head;
while (current != NULL) {
if (current->valor > n) {
count++;
}
current = current->next;
}
return count;
}