Avatar ·

Warum ist die Verarbeitung eines sortierten Arrays schneller als die eines unsortierten?

Hallo zusammen! Ich bin ein Anfänger C++ Entwickler und bin bei der Code-Optimierung auf ein sehr seltsames Problem gestoßen. Ich habe eine einfache Schleife, die die Elemente eines Arrays summiert, aber nur diejenigen, die größer als ein bestimmter Schwellenwert sind. Mir ist aufgefallen, dass der Code bei einem sortierten Array mehrere Male schneller ausgeführt wird als bei einem unsortierten. Hier ist ein Beispielcode:\n\n```cpp\n#include \n#include \n#include \n#include \n\nint main() {\n const int SIZE = 100000;\n std::vector data(SIZE);\n \n // Array mit Zufallszahlen füllen\n for (int i = 0; i < SIZE; ++i) {\n data[i] = rand() % 256;\n }\n \n // Array für den ersten Test sortieren\n std::vector sorted_data = data;\n std::sort(sorted_data.begin(), sorted_data.end());\n \