Guest User

Untitled

a guest
Sep 25th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.35 KB | None | 0 0
  1. void inserir_elemento ( struct conjunto* c, int e )         // falta verificação se é igual
  2. {
  3.     listinha* temp;
  4.     listinha* cria;
  5.     cria = (listinha*) MALLOC(sizeof(listinha));
  6.     temp = c->lista;                                 //lista recebe a lista do conjunto
  7.  
  8.     while (temp->proximo_elemento != NULL)
  9.     {
  10.         //printf("af\n");
  11.         if(temp->proximo_elemento->elemento == e){      // verifica se já existe o elemento na lista
  12.  
  13.             FREE(cria);                                                         // libera a memória alocada, pois não será utilizada
  14.             return;                                                                 // quebra o while
  15.         }
  16.  
  17.         if (temp->proximo_elemento->elemento > e)                 // Se o prox. elemento for maior que o a ser inserido ou for o último da lista
  18.         {
  19.             cria->proximo_elemento = temp->proximo_elemento;
  20.             temp->proximo_elemento = cria;
  21.             return;                                                                 // quebra o while
  22.         }
  23.         temp = temp->proximo_elemento;          // pula pro próximo
  24.     }
  25.         temp->proximo_elemento = cria;              // se a lista foi percorrida inteira (ou for o primeiro) , adicionar o elemento no fim, com o prox apontado pra null
  26.         cria->proximo_elemento=NULL;
  27. }
Add Comment
Please, Sign In to add comment