Studio amico, ABC

grazie sempre per la tua disponibilità :smiley:

1 Mi Piace

Sì, per la priorità degli operatori.
Anche se fai i=0; v[i++]=x; allora v[0] = x e i ora vale 1.
Mentre se fai i=0; v[++i]=x; allora v[1] = x e i vale 1.

grazie mille sei davvero in gamba!
un ultima cosa…
il counting sort è così potente e conviene usarlo SOLO quando sappiamo a priori il range di valori presenti nel vettore o si può usare anche in altri casi?

““Funziona”” se i valori sono in un range ristretto. Infatti supponendo che i valori siano in un intervallo di ampiezza(differenza tra il valore massimo ed il valore minimo che possono comparire) H allora la complessità del counting sort è O(N+H) mentre quella del quicksort (o altri algoritmi) è O(NlogN) e come vedi in quella del quicksort l’ampiezza del range di valori non influisce nella complessità.
Quindi il counting diventa molto vantaggioso rispetto agli altri algoritmi quando N è molto elevato e H è relativamente piccolo. Per esempio in lunapark .

grazie mille, spero di arrivare presto a risolvere questo esercizio ahaha