Domanda

Mi piace molto la funzione qsort in C. E 'così facile da usare e mi permette di procrastinare l'apprendimento C ++ tipi di modello. Ho alcune domande su questo:

  • è l'algoritmo utilizzato sempre un Quicksort o è compilatore-implementazione-dipendente?
  • Consiglieresti di utilizzare questa funzione o c'è un reale vantaggio per i modelli?
  • Ci sono delle cose che occorre fare attenzione ai problemi di sicurezza astenersi / segfaults?
È stato utile?

Soluzione

  

è l'algoritmo utilizzato sempre un Quicksort o è compilatore-implementazione-dipendente?

E 'a carico di attuazione.

  

Consiglieresti di utilizzare questa funzione o c'è un reale vantaggio per i modelli?

C non ha modelli. Se avete bisogno di una funzione di ordinamento generica in C, allora qsort è una buona scelta.

Se avete intenzione di utilizzare C ++, quindi si dovrebbe utilizzare std::sort, che è molto più facile da usare in modo corretto e dà sicurezza tipo.

  

Ci sono delle cose che occorre fare attenzione ai problemi di sicurezza astenersi / segfaults?

Se si utilizza la funzione in modo improprio (ad esempio, se si passa parametri non corretti o se la funzione di confronto ha bug in esso), quindi il programma potrebbe anche bloccarsi (o altrimenti potrebbe eseguire in modo non corretto). Naturalmente, questo non è specifico per qsort; questo è vero per niente utilizzato in un programma.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top