Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Sorting

0 views
Skip to first unread message

eryer

unread,
Dec 11, 2009, 3:13:10 PM12/11/09
to
Salve a tutti,
vorrei effettuare l'ordinamento di elementi presenti all'interno di un
vettore: ogni elemento deve presentare una etichetta

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

Lorenzo Beretta

unread,
Dec 11, 2009, 5:09:38 PM12/11/09
to
eryer ha scritto:

> Salve a tutti,
> vorrei effettuare l'ordinamento di elementi presenti all'interno di un
> vettore: ogni elemento deve presentare una etichetta
>
> 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? ...?

0 new messages