Algoritmos

1111 palavras 5 páginas
Assunto: Listas Encadeadas
Nome: Ágatha
Data de Entrega: 29/03/2012

Questão 1

celula *busca (int x, TLista *lista) { int achou; celula *p; achou = 0; p = lista->inicio; while (p != NULL && !achou) { if (p->conteudo == x) achou = 1; // O problema da funcao e nao colocar um senao(else) apos o achou, p = p->prox; // pois ao achar a posicao correta, ele passa para proxima posicao da lista. } if (achou) return p; else return NULL;
}

Questão 2

int valor_min (Lista *l) { //Passa uma lista como parametro int v; No *p; v = 1000; p = l->inicio; while (p!=NULL) { if(p->info < v) v = p->info; p = p->prox; } return v; //Retorna um valor inteiro, que é a celula conteudo minino.
}

Questão 3

No *busca_cres (int v, Lista *lista) { No *p; p = lista->inicio; while (p != NULL && p->info!=v) p = p->prox;

if (p!=NULL) return p; else return NULL; }
Questão 5

#include
#include

typedef struct no* TNo;

struct no { int conteudo; TNo prox;
};

int main (void) { printf ("sizeof (TNo) = %d\n", sizeof (TNo)); //Imprime o valor do espaco de memoria do apontador. printf ("sizeof (struct No) = %d\n", sizeof (struct no)); //Imprime o valor da struct toda(conteudo + apontador). system("pause"); return 0;
}

Questão 6

void insere (int x, TNo p) { //O primeiro erro e nao fazer nenhuma verificacao. struct no nova; nova.conteudo = x; nova.prox = p->prox; //O correto seria mandar nova apontar para p e nao para p->prox p->prox = &nova; //E nesta linha p, nao p->prox, apontar pra nova.
}

Questão 7

void remove (TNo p, TLista *lista) {

Relacionados

  • Algoritmos
    469 palavras | 2 páginas
  • Algoritmos
    5351 palavras | 22 páginas
  • Algoritmo
    698 palavras | 3 páginas
  • O que é um Algoritmo
    689 palavras | 3 páginas
  • Algoritmos
    864 palavras | 4 páginas
  • Algoritmo
    2704 palavras | 11 páginas
  • algoritmos
    2263 palavras | 10 páginas
  • Algoritmos
    834 palavras | 4 páginas
  • algoritmos
    1051 palavras | 5 páginas
  • Algoritmos
    958 palavras | 4 páginas