PDA

Visualizza la versione completa : [C] Ordinare un vettore in maniera decrescente!?


rrr85
25-02-2008, 19:02
Quale è il codice più semplice per poter ordinare un vettore??
mi servirebbe sia utilizzando i puntatori che senza così magari posso confrontarli..grazie..

MItaly
25-02-2008, 19:03
Linguaggio?

rrr85
25-02-2008, 19:07
Ah si scusate!!in C..

MItaly
25-02-2008, 19:10
Una soluzione non molto "didattica" ma molto molto comoda è usare la funzione qsort (http://www.cplusplus.com/reference/clibrary/cstdlib/qsort.html) della libreria standard C.

rrr85
25-02-2008, 19:18
ma quella funzione ordina in modo crescente giusto??io la vorrei che ordinasse in modo decrescente e magari fosse anche1pò più di basso livello..non aiutatemi per favore!!

MItaly
25-02-2008, 19:27
Per ordinare in maniera decrescente basta modificare la funzione di confronto...


/* qsort example */
#include <stdio.h>
#include <stdlib.h>

int values[] = { 40, 10, 100, 90, 20, 25 };

int compare (const void * a, const void * b)
{
return -( *(int*)a - *(int*)b );
}

int main ()
{
int n;
qsort (values, 6, sizeof(int), compare);
for (n=0; n<6; n++)
printf ("%d ",values[n]);
return 0;
}

Loading