C++代码
时间: 2023-07-10 09:10:33 浏览: 44
以下是使用C++实现按照作业权重排序的代码,时间复杂度为O(nlogn):
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct Job {
int id; // 作业编号
int weight; // 作业权重
int time; // 作业处理时间
bool operator < (const Job& j) const {
return weight * j.time > j.weight * time; // 按照作业权重排序
}
};
int main() {
int n;
cin >> n;
vector<Job> jobs(n);
for (int i = 0; i < n; i++) {
jobs[i].id = i + 1;
cin >> jobs[i].weight >> jobs[i].time;
}
sort(jobs.begin(), jobs.end());
int sum = 0, time = 0;
for (int i = 0; i < n; i++) {
sum += jobs[i].weight * (time + jobs[i].time);
time += jobs[i].time;
}
cout << "最小加权完成时间为:" << sum << endl;
cout << "作业的排序结果为:";
for (int i = 0; i < n; i++) {
cout << jobs[i].id << " ";
}
cout << endl;
return 0;
}
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)