vscolasanto

Membros
  • Content Count

    1
  • Joined

  • Last visited

Community Reputation

0 Neutro

About vscolasanto

  1. Bom dia Pessoal, sou novo aqui no fórum. Estou cursando Engenharia de Computação e estou com duvida em um código em C referente a lista ligada. Abaixo encaminho o código onde preciso modificar a função InsereFim para que ordene a lista de forma crescente e decrescente. #include <stdio.h> #include <stdlib.h> struct Node { int valor; struct Node *proximo; }; typedef struct Node node; void insereFim(int n, node *lista) { node *novo = (node *) malloc(sizeof(node)); novo->proximo = NULL; novo->valor = n; node *temp = lista; while (temp->proximo != NULL) { temp = temp->proximo; } temp->proximo = novo; } void insereInicio(int n, node *lista) { node *novo = (node *) malloc(sizeof(node)); novo->valor = n; node *temp = lista->proximo; lista->proximo = novo; novo->proximo = temp; } main() { int n; node *lista = (node *) malloc(sizeof(node)); lista->proximo = NULL; printf("Entre com valores para a lista ligada. Digite -1 para interromper a entrada de valores.\n"); do { scanf("%d", &n); if (n != -1) { //insereFim(n, lista); insereFim(n, lista); } } while (n != -1); node *atual, *prox; atual = lista->proximo; while (atual != NULL) { printf("%d ", atual->valor); prox = atual->proximo; free(atual); atual = prox; } }