首次适应算法c++实现
时间: 2024-01-02 09:03:21 浏览: 75
根据提供的引用[1],以下是首次适应算法的C++实现:
```c++
#include<iostream>
using namespace std;
struct Job {
string name;
int size;
int start;
};
struct Blank {
int size;
int start;
};
int main() {
int n, m;
cout << "请输入空闲区的数量:";
cin >> n;
Blank blanks[n];
for (int i = 0; i < n; i++) {
cout << "请输入第" << i + 1 << "个空闲区的大小和起始地址:";
cin >> blanks[i].size >> blanks[i].start;
}
cout << "请输入作业的数量:";
cin >> m;
Job jobs[m];
for (int i = 0; i < m; i++) {
cout << "请输入第" << i + 1 << "个作业的名字和大小:";
cin >> jobs[i].name >> jobs[i].size;
bool flag = false;
for (int j = 0; j < n; j++) {
if (blanks[j].size >= jobs[i].size) {
jobs[i].start = blanks[j].start;
blanks[j].start += jobs[i].size;
blanks[j].size -= jobs[i].size;
flag = true;
break;
}
}
if (!flag) {
cout << "内存不足,作业" << jobs[i].name << "无法分配内存" << endl;
}
}
cout << "作业分配情况如下:" << endl;
for (int i = 0; i < m; i++) {
cout << "作业" << jobs[i].name << "的起始地址为" << jobs[i].start << endl;
}
return 0;
}
```
阅读全文
相关推荐

















