Ir para conteúdo
Fórum Script Brasil

joaopaulo19

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por joaopaulo19

  1. 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;
    };
     

     

×
×
  • Criar Novo...