Jhgf

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (343 palavras )
  • Download(s) : 0
  • Publicado : 16 de janeiro de 2013
Ler documento completo
Amostra do texto
‎#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 umvalor:");
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;...
tracking img