Ir ao conteúdo

Alguem Poderia Me Ajduar Com Qsort?


Computado

Posts recomendados

Postado

Alguem que intenda desse qsort aí poderia me passar icq, e-mail qualquer coisa,, preciso ordenar um vetor de uma estrutura em ordem crescente so que não tem jeito....ai eu passaria o codigo pra dar uma olhadinha e me ajudar, estou precisando muito disso....

Postado


void quickSort(long int i, long int s)
{
  long int e=i, d=s;
  long int item = Array[ ((e+d)/2) ];
  while ( e <= d )
  {
    while ( Array[e] < item ) e++;
    while ( Array[d] > item ) d--;
    if ( e <= d )
    {
      long int aux; // Variável auxiliar para as trocas
      aux      = Array[e];
      Array[e] = Array[d]
      Array[d] = aux;
      d--;
      e++;
    }
  }
  if ( d-i > 0 ) quickSort(i,d);
  if ( s-e > 0 ) quickSort(e,s);
}

Aqui já é uma matéria sobre ordenação, excluindo as porcarias tipo bubble...

bem legal dá uma lida tem a explicação para os metodos de ordenação!

ordenação.pdf

[]s

Postado

Valeu de novo....esse qsort é uma droga, difícil de se entender de comeco, mas depois q se intende tu ve como é barbada,,,mas ainda não descobri isso heeh,,,,,,mas vou da uma lida nessa apostila,,,brigadao.

  • 2 meses depois...
Postado

Aqui vai um exemplo que vem na ajuda do VC6.

Se te parece simples demais, hoje à noite te envio alguma coisa mais real, programada por mim, eu já usei bastante (mas ainda apanho..)

/* QSORT.C: This program reads the command-line

* parameters and uses qsort to sort them. It

* then displays the sorted arguments.

*/

#include <stdlib.h>

#include <string.h>

#include <stdio.h>

int compare( const void *arg1, const void *arg2 );

void main( int argc, char **argv )

{

int i;

/* Eliminate argv[0] from sort: */

argv++;

argc--;

/* Sort remaining args using Quicksort algorithm: */

qsort( (void *)argv, (size_t)argc, sizeof( char * ), compare );

/* Output sorted list: */

for( i = 0; i < argc; ++i )

printf( "%s ", argv );

printf( "\n" );

}

int compare( const void *arg1, const void *arg2 )

{

/* Compare all of both strings: */

return _stricmp( * ( char** ) arg1, * ( char** ) arg2 );

}

Boa sorte !

Elga :bye:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...