Jump to content
Fórum Script Brasil
  • 0

Ajuda Com Lista E Ponteiro


Guest DAL
 Share

Question

alguém podia me auxiliar a começar...

sou novo em C++, alguém poderia ir me auxiliando..

qualquer coisa se alguém tiver algo parecido e querer me passar para eu ir tentar fazendo...

valeu ai...

#include <stdio.h>
Struct it {
Int info;
Struct  it* prox;
};
Typedef struct it item;
/* função para inserção*/
{
}
/* função para listar*/
Void imprime (item*)
{
}
/*função para exclusão*/
Item* exclui(item* )
{
}
/* função para quantidade de elementos*/
Int quantidade (item* )
{
}
/* função para excluir toda a lista */
Item* exclui_lista (item* )
{
}
Main()
{
Int opção;
     Do
    {
           Printf(“= = =>   Escolha uma opção:       <= = = \n”);
        Printf(“=>  1 -   Inserir elemento na lista \n”);
        Printf(“=>  2 -   Listar os elementos da lista \n”);
        Printf(“=>  3 -   Excluir um elemento da lista \n”);
         Printf(“=>  4 -   Quantidade de elementos da lista \n”);
        Printf(“=>  5 -   Exclui toda a lista \n”);
        Printf(“=>  6 -   Sair \n”);
        Scanf(“%d” , &opção);
        Switch (opção)
        {
          Case1:
        /* Ler o numero para inserção e chamar a função*/
         Break;

      Case2
        /* Chamar a função para listar*/
                        Break;    
     Case3
        /* Ler o numero para excluir e chamar a função*/
                        Break;


     Case4
        */ Chamar a função para buscar quantidade de elementos*/
                  Break;
     Case5
        */ Chamar a função para excluir toda a lista*/
                         Break;
         }

Desenvolver um programa em C utilizando lista encadeada (ponteiros) com as seguintes funções:

- inserção

- listagem

- exclusão

- quantidade de elementos na lista

- excluir toda a lista

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Qual sua é exatamente sua dúvida? Alias, esse fonte está errado, pois, por exemplo, não existe a palavra chave 'Void', e sim 'void'.

Falows!

Link to comment
Share on other sites

  • 0
Guest Visitante

Meu caro...

isso na verdade não é para ser uma fonte, e sim uma breve introducao do trabalho, foi o que foi me passado para que eu começe...

por isso os comandos estao com a primeira letra em maiuscula como por exemplo o void que voce citou...

então.. isso não é uma fonte....

Minha duvida é bem basica...

tudo....

alguém poderia me auxiliar a começar a fazer.. ou se alguém já tiver isso ai pronto e quiser me mandar...

mais do mais... vamos por parte...

- inserção

- listagem

- exclusão

- quantidade de elementos na lista

- excluir toda a lista

Link to comment
Share on other sites

  • 0

Salve!

Então aconselho a leitura das seguintes definições referente ao conceito de Listas:

Estrutura de Dados (visão geral)

Listas

Filas

A leitura é boa para se entender o conceito e até mesmo para um maior entendimento do algoritmo. ;)

Segue a implementação de uma Lista Linear Singularmente Ligada ou (para alguns) Lista Encadeada:

/* define estrutura tipo célula para LLSL (Lista Linear Singularmente Ligada) */
struct Cell {
       int info;           /* informação contida na célula da lista */
       struct Cell * prox; /* endereço (link) da célula sucessora ou próxima */
};

typedef struct Cell Celula; /* Celula é sinônimo de struct Cell */
typedef Celula * PCelula;   /* PCelula é sinônimo de Celula* */
Construir a Lista:
void ConstroiLLSL(PCelula *pinicio, unsigned n) /* Versão Iterativa */
{
     PCelula pnovo;                         /* para alocar célula */
     srand(time(NULL));                     /* para não gerar números repetidos */
     for (; n != 0; n--) {                 /* enquanto diferente de zero */
         pnovo = ALOQUE(Celula);            /* tenta alocar área no Heap */
         if (pnovo == NULL) abort();        /* falta de área no Heap do Sistema */
         pnovo->info = rand() % MAXRAND;    /* gera info da nova célula */
         pnovo->prox = *pinicio;            /* liga nova célula ao início */
         *pinicio = pnovo;                  /* pinicio aponta para nova célula */
     } /* for */
} /* ConstroiLLSL */
Mostrar a Lista:
void MostraLLSL(PCelula pinicio) /* Versão Iterativa */
{
     while (pinicio != NULL){               /* enquanto lista não vazia */
           printf(" %02d ",pinicio->info);  /* mostra campo info da célula */
           pinicio = pinicio->prox;         /* avança para próxima célula */
     } /* while */
} /* MostraLLSL */
Destruir a Lista:
void DestroiLLSL(PCelula *pinicio) /* Versão Iterativa */
{
     PCelula paux;                          /* para guardar endereço do início */
     while (*pinicio != NULL) {             /* enquanto lista não vazia */
           paux = *pinicio;                 /* salva endereço da primeira célula */
           *pinicio = paux->prox;           /* pinicio aponta para próxima célula */
           free(paux);                      /* libera célula para o Heap do sistema */
     } /* while */
} /* DestroiLLSL */

Conhecendo o conceito da Lista fica mais fácil para entender velho.

Foi um exemplo simples de como montar uma Lista Linear Singularmente Ligada (LLSL) ou (para alguns) Lista Encadeada.

Qualquer coisa é só falar brother!

Abraços,

William Rodrigues

Link to comment
Share on other sites

  • 0
Guest Visitante

Blza mano...

estou tentando fazer...

cara eu estou lendo livros sim...

não estou apenas só pedindo para alguém me ajudar e depois eu entrego pronto.. acabou...

Estou pedindo ajuda porque o tempo para entrega é pequeno, mais estou lendo, livro, tutorial, arquivos que falam de lista e ponteiro...

valeu ai..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649.1k
×
×
  • Create New...