gpt4 book ai didi

java - 带队列的 RoundRobin 算法

转载 作者:行者123 更新时间:2023-12-02 10:38:04 25 4
gpt4 key购买 nike

我有一个关于队列循环算法的问题,我对数据结构很陌生。该算法应该做到这一点:

  • 我们得到 3 个数字,例如 (12 5 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
  • 如果是这样,请将其添加到列表的后面(在减去 的 quantum 之后)当然)。

继续,直到 ArrayList 为空。

代码如下:

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

关于java - 带队列的 RoundRobin 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53133722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com