Skip to content

Commit e48f29a

Browse files
committed
chore: processes don't need to be sorted
1 parent b4d8109 commit e48f29a

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

cpu_scheduling_algorithms/round_robin_scheduling.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -150,16 +150,16 @@ void Test() {
150150

151151
std::vector<ProcessResult> RRExecute(const std::vector<Process>& processes,
152152
uint32_t time_slice) {
153-
std::vector<Process> sorted_processes = processes;
154-
std::sort(sorted_processes.begin(), sorted_processes.end(), CompareAT);
155-
156153
std::queue<std::pair<Process, uint32_t>> schedule;
157154
std::set<uint32_t> arrived_processes;
155+
158156
std::vector<ProcessResult> results;
159157
results.reserve(processes.size());
160-
uint32_t time_elapsed = sorted_processes[0].arrival_time;
161158

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,
163163
time_elapsed);
164164

165165
while (!schedule.empty()) {
@@ -171,7 +171,7 @@ std::vector<ProcessResult> RRExecute(const std::vector<Process>& processes,
171171
current.second -= elapsed;
172172
time_elapsed += elapsed;
173173

174-
CheckArriveProcess(sorted_processes, arrived_processes, schedule,
174+
CheckArriveProcess(processes, arrived_processes, schedule,
175175
time_elapsed);
176176

177177
if (current.second > 0) {

0 commit comments

Comments
 (0)