Beispiel #1
0
void menu()
{
    int op = -1;

    printf (" ------ Menu Principal ------\n");
    printf ("\n1. Inserir no inicio");
    printf ("\n2. Inserir no final");
    printf ("\n3. Remover do inicio");
    printf ("\n4. Remover do final");
    printf ("\n5. Remover elemento");
    printf ("\n6. Buscar elemento");
    printf ("\n7. Imprimir tudo");
    printf ("\n8. Somar todos");
    printf ("\n\n\tOpcao: ");
    scanf ("%d", &op);

   if (op == 1)
        inserir_inicio();
   else if (op == 2)
        inserir_fim();
   else if (op == 3)
        remover_inicio();
   else if (op == 4)
        remover_fim();
   else if (op == 5)
        remover_qualquer();
   else if (op == 6)
        buscar_elemento();
   else if (op == 7)
        imprimir_tudo();
   else if (op == 8)
        somar_tudo();
    system ("cls");
}
Beispiel #2
0
void remover_qualquer()
{
    Lista *auxAnterior = NULL;
    Lista *aux = cabeca;
    int numero;

    printf ("Entre com um valor a ser removido: ");
    scanf ("%d", &numero);

    while (aux != NULL && aux->num != numero)
    {
        auxAnterior = aux;
        aux = aux->prox;
    }

    if (auxAnterior == NULL)
    {
        remover_inicio();
    }
    else if (aux != NULL)
    {
        auxAnterior->prox = aux->prox;
        printf ("\nNumero removido com sucesso! %d", aux->num);
    }
    else
        printf ("\nErro: numero nao encontrado!\nCertifique-se de ter entrado com o numero correto.");

    getch();
}
int main () {
	struct no * lista = NULL;  //inicializacao da lista: lista vazia
   	int opcao, elem;

	do {
		printf ("\n 1-inserir inicio  2-inserir final");
		printf ("\n 3-remover inicio  4-remover final");
		printf ("\n 5-imprimir lista  0-sair : ");
		scanf ("%d", &opcao);
		switch (opcao) {
			case 1:	printf ( "\n***Inserindo no inicio da lista***");
					printf ("\nValor a ser inserido: ");
					scanf ("%d", &elem);
					inserir_inicio (elem, &lista);
					imprimir (lista);
					break;
			case 2:	printf ( "\n***Inserindo no final da lista***");
					printf ("\nValor a ser inserido: ");
					scanf ("%d", &elem);
					inserir_final (elem, &lista);
					imprimir (lista);
					break;		
			case 3:	printf ( "\n***Removendo do inicio da lista***");
			      	if (lista != NULL) {
                   		elem = remover_inicio (&lista);
					  	printf ("\nValor removido: %d ", elem);
                 	}
                 	else
						printf ("\nLista Vazia!");
					imprimir (lista);
					break;
			case 4:	printf ( "\n***Removendo do final da lista***");
			      	if (lista != NULL) {
                  		elem = remover_final (&lista);
					   	printf ("\nValor removido: %d ", elem);
                 	}
                 	else
						printf ("\nLista Vazia!");
					imprimir (lista);
					break;
			case 5:	imprimir (lista);
					break;
			case 0:	printf ("\nSaindo....");
  	              	break;
			default: printf ("\nOpcao Invalida!");
		}
	} while (opcao != 0);

	system ("pause");
  	return (0);
}
Beispiel #4
0
int main() {
  int i;

  //criar a &lista
  LISTA_DUPLAMENTE_LIGADA lista;
  criar(&lista);

  //inserir itens na &lista
  for (i = 0; i < 10; i++) {
    ITEM item;
    item.chave = i;
    item.valor = rand();
    if (i%2==0) {
      inserir_inicio(&lista, &item);
    } else {
      inserir_fim(&lista, &item);
    }
  }

  imprimir(&lista);
  printf("---\n");
  imprimir_inverso(&lista);
  printf("---\n");

  {
    ITEM item;
    if (buscar(&lista, 8, &item)) {
      printf("encontrado: %d - %d\n---\n", item.chave, item.valor);
    }

    for (i = 0; i < 3; i++) {
      remover_inicio(&lista);
    }
  }

  // tenta inserir novo ITEM em posicao invalida
  ITEM item;
  item.chave = rand();
  item.valor = 111;
  inserir_posicao(&lista, 9, &item);
  

  imprimir(&lista);
  printf("---\n");

  // insere 5 itens no final da lista
  for (i = 0; i < 5; i++) {
    ITEM item;
    item.chave = rand();
    item.valor = i;
    inserir_fim(&lista, &item);
  }

  imprimir(&lista);
  printf("---\n");

  // remove 3 ultimos itens da lista
  for (i = 0; i < 3; i++) {
    remover_fim(&lista);
  }

  // remove o primeiro no
  remover_posicao(&lista, 0);

  imprimir(&lista);
  printf("---\n");

  apagar_lista(&lista);

  return 0;
}