привет, я использую make_heap в моей программе cpp. Ниже я написал код, соответствующий этому -
struct jobs {
int abs_deadline, id, rem_ET, arr_time;
};
struct compareDeadline {
bool comparator(jobs t1, jobs t2) {
return t1.abs_deadline < t2.abs_deadline;
}
};
struct compareArrTime {
bool comparator( jobs t1, jobs t2) {
return t1.arr_time < t2.arr_time;
}
};
void runningPhase(int ntasks,vector<tasks> j) {
vector<jobs> ready_queue,waiting_queue;
int system_criticality = 1, temp, timer = j[0].arr_time;
cout << "\nSCHEDULE:\n\n";
for (int i = 1; i <ntasks; i++) {
if (j[i].criticality == 1) {
temp = j[i].arr_time + j[i].deadline;
if (timer == j[i].arr_time) {
ready_queue.push_back({ temp,j[i].id, j[i].wcet[0],j[i].arr_time });
}
else {
waiting_queue.push_back({ temp,j[i].id,j[i].wcet[0],j[i].arr_time });
}
}
}
make_heap(ready_queue.begin(), ready_queue.end(), compareArrTime());
make_heap(waiting_queue.begin(), waiting_queue.end(), compareDeadline());
schedule(j, ready_queue, waiting_queue,ntasks);
}
Ошибка прикрепления Ошибка
Любая помощь будет оценена.