Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
#include<stdio.h> #include<stdlib.h> typedef struct no{ int dados; struct no *proximo; }inicio,fim; int insere_direita(struct no **inicio, struct no **fim, int valor){ struct no *p; p = (struct no *) malloc(sizeof(struct no)); if(p){ p->dados =valor; p->proximo = NULL; if(*inicio ==NULL) *inicio =p; else (*fim)->proximo =p; *fim =p; } } int insere_esquerda(struct no **inicio, struct no **fim, int valor){ struct no *p; p = (struct no *) malloc(sizeof(struct no)); if(p){ p->dados =valor; p->proximo = NULL; if(*inicio ==NULL) *inicio =p; *fim=p; else p->proximo =*inicio; *inicio =p; } } //Cria lista int cria_lista(struct no **inicio, struct no **fim){ *inicio =NULL; *fim =NULL; } //Imprime lista int mostra_lista(struct no*inicio){ struct no*prox; prox = inicio; while(prox !=NULL){ printf("%i = %i -> %i\n", prox, prox->dados, prox->proximo); prox =prox->proximo; } } int main(){ struct no *inicio; struct no *fim; int valor,op; while(op!=0){ printf("Digite o valor\n"); scanf("%d",&valor); printf("Digite o 1-insere direita\n 2-insere direita\n"); scanf("%d",&op); cria_lista(&inicio,&fim); insere_direita(&inicio,&fim, valor); insere_esquerda(&inicio,&fim, valor); mostra_lista(&fim); } return 0; }
Compartilhar