Buscar

apagar4

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;
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Perguntas relacionadas

Perguntas Recentes