@@ -150,16 +150,16 @@ void Test() {
150
150
151
151
std::vector<ProcessResult> RRExecute (const std::vector<Process>& processes,
152
152
uint32_t time_slice) {
153
- std::vector<Process> sorted_processes = processes;
154
- std::sort (sorted_processes.begin (), sorted_processes.end (), CompareAT);
155
-
156
153
std::queue<std::pair<Process, uint32_t >> schedule;
157
154
std::set<uint32_t > arrived_processes;
155
+
158
156
std::vector<ProcessResult> results;
159
157
results.reserve (processes.size ());
160
- uint32_t time_elapsed = sorted_processes[0 ].arrival_time ;
161
158
162
- CheckArriveProcess (sorted_processes, arrived_processes, schedule,
159
+ uint32_t time_elapsed =
160
+ std::min_element (processes.begin (), processes.end (), CompareAT)->arrival_time ;
161
+
162
+ CheckArriveProcess (processes, arrived_processes, schedule,
163
163
time_elapsed);
164
164
165
165
while (!schedule.empty ()) {
@@ -171,7 +171,7 @@ std::vector<ProcessResult> RRExecute(const std::vector<Process>& processes,
171
171
current.second -= elapsed;
172
172
time_elapsed += elapsed;
173
173
174
- CheckArriveProcess (sorted_processes , arrived_processes, schedule,
174
+ CheckArriveProcess (processes , arrived_processes, schedule,
175
175
time_elapsed);
176
176
177
177
if (current.second > 0 ) {
0 commit comments