Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    211
    Grazie mille...E si puo' sapere il valore in millesecondi?

  2. #12
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    Originariamente inviato da MItaly
    @Lak3d
    Sì, ma si tratta di un oggetto algoritmo utilizzabile solo con i container STL; per ordinamenti su array standard puoi usare la funzione qsort (già citata in questa sede).
    quindi è una classe della STL solo per c++?
    Sinceramente non sapevo che esistesse la qsort... ne esiste una per ogni tipo di ordinamento?

  3. #13
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    211
    La stl è la libreria del c++, quindi si puo' usare solo con il c++. Per quanto riguarda il qsort, non so, ma penso che sia implementato con quicksort(qsort), visto che è l'algoritmo più veloce. Per quanto riguarda gli altri ordinamenti come insertion sort, counting sort,merge sort, non ti so dire se ci sono funzioni specifiche.

  4. #14
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    eh, ho visto questa funzione qsort, ma non capisco molto i parametri che vuole... c'è di mezzo un puntatore ad una funzione comparativa...

  5. #15
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    211
    Si...Ma io non so come si usa...Sta cercando un sito che spiegasse qualcosa...Ma non ho ancora trovato nulla...

  6. #16
    codice:
    void qsort(
       void *base,
       size_t num,
       size_t width,
       int (__cdecl *compare )(const void *, const void *) 
    );
    base: l'indirizzo dell'array da ordinare
    num: il numero di elementi di cui è composto l'array
    width: la dimensione in bytes di ciascun elemento
    compare: l'indirizzo della funzione di confronto
    All'atto pratico di solito la funzione si usa così:
    codice:
    int arr[50];
    //...
    qsort(arr, sizeof(arr)/sizeof(int), sizeof(int), cmp);
    //...
    int cmp(const void * el1, const void * el2)
    {
        if (*((int *)el1)>*((int *)el2))
            return 1;
        else if (*((int *)el1)<*((int *)el2))
            return -1;
        else
            return 0;
    }
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.