Ir para conteúdo
Fórum Script Brasil
  • 0

Ordenar uma Lista


joaopaulo19

Pergunta

Olá pessoal, sou novo aqui no fórum. Não estou conseguindo ordenar uma lista em C, gostaria que vocês me ajudassem. Segue minha função de ordenação: 

 

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);
        }
                
        
    }

 

Essa aqui é minha estrutura:

 

//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;
};
 

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...