Jhgf

343 palavras 2 páginas
‎#include <stdio.h>
#include <stdlib.h>

//Estrutura Heterogênea

struct no { int cont; struct no *ant; struct no *prox;
};

//Declaração de Variaveis Globais

struct no *inicio, *fim, *aux, *aux1, *aux2; int n;

// Função que insere os elementos na ordem crescente

void insere_ordenado () { aux = (struct no*)malloc(sizeof(struct no)); printf("Entre com um valor:"); scanf("%d", &aux->cont); if (inicio==NULL) { inicio = aux; inicio->prox = NULL; inicio->ant = NULL; fim = inicio;
}else{
if (inicio->cont > aux->cont) { aux->prox = inicio; inicio->ant = aux; inicio=aux; aux->ant = NULL;
} else { if (fim->cont < aux->cont) { fim->prox = aux; aux->prox = NULL; fim = aux;
} else { aux1 = inicio; while (aux->cont>aux1->cont) { aux1=aux1->prox; } aux1 = aux1->ant; aux->prox = aux1->prox; aux->ant=aux1; aux1->prox=aux;
}
}
}
}

//Ordenação de Joao Manoel

void JoaoManoel () { struct no *maior, *aux1, *aux2; int valor;

aux2=fim; while (aux2 != inicio) { aux1=inicio; maior=aux2; while(aux1!=aux2) { if (aux1->cont > maior->cont) maior = aux1; aux1=aux1->prox; } valor=aux2->cont; aux2->cont=maior->cont; maior->cont=valor; aux2=aux2->ant;
}
}

//Função que insere um elemento no fim da lista

void insere () { aux = (struct no*)malloc(sizeof(struct no)); printf("Entre com um valor:"); scanf("%d", &aux->cont); if (inicio==NULL) { inicio = aux; inicio->prox = NULL; inicio->ant = NULL; fim = inicio;
}else{
fim->prox = aux; aux->prox = NULL; aux->ant = fim; fim = aux;
}
}

// Função que lista na tela

void ordena () { aux1=inicio; while (aux1) { printf("%d\n",aux1->cont); aux1 = aux1->prox;
}
}

// Função do Menu

void menu () {
// do { printf("Escolha 1 Opcao:\n 0 - Sair \n 1 - Inserir elemento \n 2 - Ordenar\n"); scanf("%d", &n);
// }while (); switch (n){ case 1: insere(); break; case 2:
JoaoManoel (); break; case 3: ordena(); break;
}
}

Relacionados

  • jhgf
    566 palavras | 3 páginas
  • jhgf
    726 palavras | 3 páginas
  • jhgf
    1555 palavras | 7 páginas
  • Chgajxs,l.
    375 palavras | 2 páginas
  • trabalho de lages
    66235 palavras | 265 páginas
  • Cálculo numérico - 0
    322444 palavras | 1290 páginas