实验原理
时间片轮转算法:
q = 1和q = 4时进程的周转时间
流程图
时间片轮转过程:
流程图:
源程序
#include <iostream>
#include <string>
#define MAX 20
using namespace std;
//进程数据结构
struct PCB {
string name;
int arrive;
int need;
int count = 0;
bool status = true;
bool isOK = false;
};
PCB p[MAX]; //定义进程数组
PCB queue[MAX]; //循环队列,存在覆盖的可能
int front = -1, rear = -1; //队头、队尾指针
int main() {
while (1) {
int num, time, all = 0;
int latest = 0;
string isGoOn;
string detail;
cout << "请输入进程个数:";
cin >> num;
if (num > 20) {
cout << "进程数超过最大值!" << endl;
break;
system("pause");
}
if (num <= 0) {
cout << "输入进程数应大于0!" << endl;
system("pause");
}