Ordenação Lista

1. Ordenação Lista

João Paulo
paulojoao19

(usa OpenBSD)

Enviado em 16/12/2017 - 23:51h

Olá pessoal, sou novo aqui no fórum. Gostaria de uma ajuda para ordenar uma lista. Segue o meu código:

//Criando o tipo celula
typedef struct no celula;

//definindo a estrutura da celula
struct no
{
int numero_atleta;
int raia;
float tempo_chegada;
int numero_prova;
char sexo;
struct no *prox;
};

int tamanho(celula *lista)
{
celula *p;
int i;
i = 1;

p = lista;

while (p->prox != NULL){
p = p->prox;
i++;
}
printf("i= %d\n", i);
return i;

}


void ordenaTempo(celula *lista)
{
int n, r, p,i,j;
char s;
float t;

celula *aux, *aux2;
int tam;
tam = tamanho(lista);

aux = lista;
aux2 = lista->prox;
for(i=1; i<tam-1;i++)
{
for(j=1;j<tam-i;j++)
{
if(aux->tempo_chegada > aux2->tempo_chegada)
{
n = aux->numero_atleta;
r = aux->raia;
t = aux->tempo_chegada;
p = aux->numero_prova;
s = aux->sexo;

aux->numero_atleta = aux2->numero_atleta;
aux->raia = aux2->raia;
aux->tempo_chegada = aux2->tempo_chegada;
aux->numero_prova = aux2->numero_prova;
aux->sexo = aux2->sexo;

aux2->numero_atleta = n;
aux2->raia = r;
aux2->tempo_chegada = t;
aux2->numero_prova = p;
aux2->sexo = s;
}
aux2=aux2->prox;
}
}
lista = aux;
for(aux2=lista; aux2!=NULL; aux2=aux2->prox)
{
printf("Numero atleta: %d \n",aux2->numero_atleta);
printf("Raia: %d \n",aux2->raia);
printf("Tempo chegada: %f \n",aux2->tempo_chegada);
printf("Tempo chegada: %d \n",aux2->numero_prova);
printf("sexo - ( %c ) \n\n",aux2->sexo);
}


}




  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts