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> struct Tlista { int ele; struct Tlista *next; }; void Insert(int e, struct Tlista **start) { struct Tlista *p,*aux,*aux2; p=new(struct Tlista); p->ele=e; p->next=NULL; aux=*start; if (*start==NULL) //caso lista vazia { *start=p; } else { if(p->ele<aux->ele) //caso elemento seja o primeiro { p->next=aux; *start=p; } else { while(p->ele>aux->ele && aux->next!=NULL) //caso o elemento nao seja o primeiro percorre a lista { aux2=aux; //guarda o anterior, quando achar o elemento, volta e insere aux=aux->next; } if(aux->next==NULL && aux->ele<=p->ele) //caso seja o ultimo elemento { p->next=NULL; aux->next=p; } else //caso seja o elemento, e ele esta entre 2 outros elementos { p->next=aux; aux2->next=p; } } } } void Remove(int e, struct Tlista **start) { struct Tlista *aux,*aux2; aux=*start; if(aux==NULL) //caso lista vazia { printf("lista vazia.\n"); } else { if(e==aux->ele) //caso seja o primeiro { *start=aux->next; delete(aux); } else { while(aux->ele!=e && aux->next!=NULL) //caso nao seja o elemento, percorre a lista { aux2=aux; //guarda o anterior para linkar o proximo aux=aux->next; } if(aux->next==NULL && aux->ele!=e) //caso nao encontre o elemento { printf("elemento nao encontrado.\n"); } else { if(aux->next==NULL) //caso seja o ultimo elemento { aux2->next=NULL; delete(aux); } else { aux2->next=aux->next; //caso seja o elemento, e ele esta entre 2 outros elementos delete(aux); } printf("elemento deletado.\n"); } } } } void Print(struct Tlista **start) { struct Tlista *aux; aux=*start; while(aux!=NULL) { printf("%d - ",aux->ele); aux=aux->next; } } main() { struct Tlista *begin=NULL; int a,b; while(1) { system("cls"); printf("1-Insert\n2-Delete\n3-Print\n0-Sair.\n"); scanf("%d",&a); system("cls"); if(a==1) { scanf("%d",&b); Insert(b,&begin); } if(a==2) { scanf("%d",&b); Remove(b,&begin); system("pause>>NULL"); } if(a==3) { Print(&begin); system("pause>>NULL"); } if(a==0) break; } }
Compartilhar