2016-06-26 6 views
3

Ich frage mich, ob das Gehen auf Set (von STL) sehr teuer ist? Ich brauche ein sortiertes Array und das ist der einzige Grund, warum ich Set benutzt habe. Soll ich meine eigene sortierte Liste erstellen oder auf Set gehen ist "ok"?C++ - Gehen auf Set (von STL)

+0

Warum denkst du nicht über das Erstellen eines Sets nach? Es braucht Zeit, auch – GMichael

+2

Kosten sind relativ. Messen Sie, und wenn Sie einen Satz in Ihrem Programm durchqueren, denken Sie über Alternativen nach. – juanchopanza

Antwort

3

Nein, es ist nicht teuer (asymptotisch). Gemäß dem C++ - Standard erfolgt dies in linearer Zeit, da jeder Schritt konstante Zeit benötigt (amortisiert).

Obwohl das Durchlaufen des tatsächlich sortierten Arrays (z. B. std::vector oder einfaches C-Array) aufgrund der niedrigeren Konstante ein wenig schneller sein kann.