Ir ao conteúdo
  • Cadastre-se

Prodigy100

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Pessoal, preciso de uma ajuda. Fiz uma lista encadeada em C, mas não estou conseguindo fazer a função de remover no inicio. Alguem poderia me ajudar a corrigir essa função no meu algoritmo?De resto ta tudo certo, é so essa função de remover que ta dando pau. #include <stdlib.h> #include <stdio.h> typedef struct no{ int num; struct no *prox; }No; No* criar(){ No *novo; novo=(No*)malloc(sizeof(No)); return novo; } No* inicio(No* lista,int dado){ No *novo_no; novo_no=criar(); novo_no->num=dado; if (lista==NULL){ lista=novo_no; novo_no->prox=NULL; }else{ novo_no->prox=lista; lista=novo_no; } return lista; } No* fim(No* lista,int dado){ No *novo_no; novo_no=criar(); novo_no->num=dado; if (lista==NULL){ lista=novo_no; novo_no->prox=NULL; }else{ No *aux=lista; while (aux->prox!=NULL){ aux=aux->prox; } aux->prox=novo_no; novo_no->prox=NULL; } return lista; } void imprimir(No* lista){ No *aux; aux = lista; while (aux!=NULL){ printf ("%d \n",aux->num); aux=aux->prox; } } void removeInicio(No* lista){ if (lista==NULL){ No *aux=lista; lista=aux->prox; free(aux); } } int main() { No *lista=NULL; lista=inicio(lista,30); lista=inicio(lista,54); lista=inicio(lista,15); removeInicio(lista); imprimir(lista); return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...