atividade 3 - dados I
QUESTÃO 6
A seguinte função recursiva imprime o conteúdo de uma lista encadeada “le”:
void imprime (celula *le) {
if (le != NULL) {
printf ("%d\n", le->conteudo);
imprime (le->prox);
}
}
Assinale a alternativa que apresenta uma versão iterativa:
Alternativas
Alternativa 1:
void imprime (celula *le) {
celula *p;
for (p = le; p != NULL; p = p->prox)
printf ("%d\n", p->conteudo);
}
Alternativa 2:
void imprime() {
int p;
printf("[ ");
for (p = 0; p < tamanho; p++) {
printf("%d ", le.conteudo[p]);
}
printf("]\n\n");
}
Alternativa 3:
void imprime(celula *le){
while(le->prox != NULL)
le = le->prox;
le->prox = (celula) malloc(sizeof(cel));
le = le->prox;
printf("%d",le->conteudo);
lista->proximo = NULL;
}
Alternativa 4:
void imprime(){
if (le.fim == tamanho) {
printf("\nA fila está cheia, volte outro dia!\n\n");
system("pause");
} else{
printf("\n%d", &le.conteudo[le.fim]);
le.fim++;
}
}
Alternativa 5:
void imprime(celula *le){
printf("%d",&le.conteudo);
while((le->conteudo != conteudo) ){
if (le->prox == NULL){
break;
}
atual = le;
le = le->prox;
}
if (le->conteudo == conteudo){
atual->prox = le->prox;
}
}
Soluções para a tarefa
Respondido por
0
Resposta:
void imprime (celula *le) {
celula *p;
for (p = le; p != NULL; p = p->prox)
printf ("%d\n", p->conteudo);
}
Explicação:
Perguntas interessantes
Matemática,
9 meses atrás
Português,
9 meses atrás
Geografia,
1 ano atrás
Informática,
1 ano atrás
Matemática,
1 ano atrás