首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带队列的RoundRobin算法

带队列的RoundRobin算法
EN

Stack Overflow用户
提问于 2018-11-03 17:20:28
回答 1查看 328关注 0票数 0

我有一个关于带有队列的roundrobin算法的问题,而且我是数据结构的新手。算法应该是这样的:

  • 我们得到了像(12 5 8)这样的3个数和一个量子数,例如q:10
  • 那么算法应该是这样的: step1: 12 5 18 step2: 5 18 2 step3: 18 2 step4: 2 8 step5: 8 step6:数组为空

正如您所看到的,当量子数等于或大于数组的数时,我们将删除数组中的第一个数字。当量子数小于我们的数时,量子数(12-10=2)将被添加到数组的末尾。

有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2018-11-03 17:48:28

欢迎来到StackOverflow!

你想:

  • 将列表存储在ArrayList中(或类似的内容)
  • 获得第一项
  • 检查它是否大于quantum
  • 如果是这样的话,将其添加到列表的后面(当然是在减去quantum之后)。

只需继续,直到ArrayList为空。

这里是代码:

代码语言:javascript
运行
复制
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");

--这将给出所需的结果:

代码语言:javascript
运行
复制
[12, 5, 18]
[5, 18, 2]
[18, 2]
[2, 8]
[8]
Array is empty
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53133722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档