任务调度模型

import java.util.ArrayDeque;
import java.util.Scanner;
class Q
{
String name;
int time;
public Q(String name, int time) {
this.name = name;
this.time = time;
}
}
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayDeque<Q>arrayDeque=new ArrayDeque<Q>();
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
int q=scanner.nextInt();
Q []qq=new Q[n];
for(int i=0;i<n;i++)
{
qq[i]=new Q(scanner.next(), scanner.nextInt());
arrayDeque.offer(qq[i]);
}
int i=0;
int sum=0;
while(!arrayDeque.isEmpty())
{
Q a=arrayDeque.poll();
if(a.time>q)
{
a.time=a.time-q;
arrayDeque.offer(a);
}
else {
System.out.println(a.name+" "+(a.time+q*i-sum));
sum+=q-a.time;
}
i++;
}
}
}
本文介绍了一个简单的任务调度模型实现,通过使用Java编程语言,演示了如何根据任务的时间限制和优先级进行有效调度。该模型利用ArrayDeque数据结构来管理任务队列,并采用扫描输入的方式动态获取任务参数。

被折叠的 条评论
为什么被折叠?



