Java 带队列的RoundRobin算法
我有一个关于队列循环算法的问题,我是数据结构方面的新手。该算法应做到:Java 带队列的RoundRobin算法,java,data-structures,Java,Data Structures,我有一个关于队列循环算法的问题,我是数据结构方面的新手。该算法应做到: 我们得到3个数字,比如(125 8),还有一个量子数,比如q:10 那么算法应该这样做: step1: 12 5 18 step2: 5 18 2 step3: 18 2 step4: 2 8 step5: 8 step6: array is empty 正如你们看到的,当量子数等于或大于数组的数时,我们将删除数组中的第一个数。当量子数小于我们的数时,量子数(12-10=2)将添加到数组的末尾 有人能帮我吗?欢迎来到
- 我们得到3个数字,比如
,还有一个量子数,比如(125 8)
q:10
- 那么算法应该这样做:
step1: 12 5 18 step2: 5 18 2 step3: 18 2 step4: 2 8 step5: 8 step6: array is empty
(12-10=2)
将添加到数组的末尾
有人能帮我吗?欢迎来到StackOverflow 您想:
- 将列表存储在
(或类似内容)中ArrayList
- 获取第一项
- 检查其是否大于
quantum
- 如果是,将其添加到列表的后面(减去 当然)
到目前为止你都试了些什么?嗨,请参考这个,问得好的问题容易起来投票,投票的问题更吸引人以得到好的答案。上帝保佑你的例子比你的问题陈述更清楚
ArrayList<Integer> values = new ArrayList<Integer>();
values.add(12);
values.add(5);
values.add(18);
int quantum = 10;
int index = 0;
while (values.size() > 0) {
System.out.println(values.toString());
int value = values.remove(0);
if (value > quantum) {
values.add(value - quantum);
}
}
System.out.println("Array is empty");
[12, 5, 18]
[5, 18, 2]
[18, 2]
[2, 8]
[8]
Array is empty