int main(void) { insereOrdenada(4, "Fidelix"); insereOrdenada(3, "Dilma"); insereOrdenada(2, "Aecio"); insereOrdenada(1, "Marina"); imprime(); return 0; }
/* Cria uma LSE com os múltiplos do numero informado, que existirem na LDE */ int insereMultiplos(struct nodod **inicio, struct nodod **fim, struct nodo **ptri, int v){ int i=1; struct nodod *aux = *inicio; for (i; aux != NULL; i++){ if (aux->dados%v == 0){ insereOrdenada(ptri, aux->dados); } aux = aux->prox; } return -1; }
/* Exclui os valores entre o intervalo passado e cria uma LSE a partir dos mesmos */ int excluiIntervalo(struct nodod **inicio, struct nodod **fim, struct nodo **LSEAuxiliar, int iIntervalo, int fIntervalo){ struct nodod *aux=*inicio,*del=NULL; if(aux==NULL){ printf("\nLista Vazia!\n"); return 0; } while(aux != NULL){ if(aux->dados >= iIntervalo && aux->dados <= fIntervalo){ insereOrdenada(LSEAuxiliar, aux->dados); del=aux; if(aux==*inicio){ *inicio=aux->prox; aux->prox->ant=NULL; }else{ aux->ant->prox=aux->prox; aux->prox->ant=aux->ant->ant; } free(del); } aux=aux->prox; } return 1; }