vettore={Pera=3,Mela=5,Pesca=1} ===> vettore={Pesca=1, Pera=3, Mela=5}
il mio dubbio è come realizzare il vettore:
1. Potrei utilizzare un vettore vettore={3,5,1} i cui dati possono
essere passati alla funzione qsort() e quindi ordinati. Il problema è
che una volta ordinati non so più quale è il valore di Pesca,Pera,
Mela: di conseguenza utilizzo un ulteriore vettore "buffer" nel quale
memorizzo nell'ordine noto i dati.
2. Potrei utilizzare un vettore di puntatori: tuttavia effettuando il
qsort() dei valori puntati dai puntatori, questi vengono ordinati nel
seguente modo vettore={Pera=1,Mela=3,Pesca=5}
La prima soluzione è abbastanza "grezza", solo che funziona
correttamente: tuttavia vorrei una soluzione simile alla seconda (o
anche migliore)...qualche idea?
Grazie
Ti consiglio di dare un occhio a http://sscce.org/, la maggior parte
delle volte in cui non sapevo che pesci pigliare mi ᅵ stato d'aiuto.
Seriamente.
Nel frattempo, direi che puoi fare un vettore di struct:
struct abc {
char *etichetta;
int valore;
};
struct abc vettore[] = {...};
qsort(...);
Altrimenti spiega meglio questa storia delle etichette - stringhe?
valori di una enum? ...?