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为空

代码如下:


到目前为止你都试了些什么?嗨,请参考这个,问得好的问题容易起来投票,投票的问题更吸引人以得到好的答案。上帝保佑你的例子比你的问题陈述更清楚
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