arrays - 将数组的元素附加到数组本身
问题描述
我正在使用一个小数组,以 int 指针的形式。举个例子,数组有 3 个元素,[0, 1, 2]。
我想根据检查,获取索引为 i 的元素并将其移动到数组的后面。如果索引为 0,则数组应重新排序 [1, 2, 0]。然后,下次我这样做时,如果索引为1,则应重新排序[1,0,2]。
我正在使用的检查是,索引 i 处的当前值是否等于结构元素的特定值。结构体的代码如下:
struct Process {
int id;
int cpu;
int io;
int arrival;
};
我正在处理的数组称为队列。这是我目前的重新排序尝试:
for (int q = 0; q < n; q++) {
if (queue[q] == p[i].id) {
while (q++ < n)
queue[q] = queue[q + 1];
queue[n - 1] = p[i].id;
break;
}
}
因此,我正在检查队列的元素是否等于 Process 实例的 id(p[] 是 Process 类型的进程列表)。如果是,我想将每个元素向后移动 1,然后将最后一个元素设置为等于我用于检查的 Process 实例的 id。while 循环以前是(n = 进程总数,因此是队列元素的总数):
for (int r = q + 1; r < n; r++) {}
但我相信两者都有相同的效果,而且都没有像我认为的那样工作。
值得一提的是,队列的元素是根据 p[] 中元素的 id 设置的,因为这些元素是初始化的,所以 p[i].id 应该总是在队列中找到。
解决方案
推荐阅读
- c# - 具有外键引用的 Entity Framework Core 更新列
- django - 从模板输入到Django中的视图
- irs - IRS A2A - 在生产中使用一次 AATS 进行逻辑测试
- node.js - 在 axios 标头上设置默认标头是否会反映在其他模块中所有导入的 axios 实例中?
- java - Unity3d 中集成的 android MIDI 驱动程序没有声音
- python - 根据熊猫数据框中另一列的最后一个值填充列
- python - 关于函数返回语句的问题
- python - 您可以从视图中的表单中删除 clean_field 吗?
- vue.js - 将 getter 分配给数据属性 -> 数据属性不会改变
- python - 使用列表调用最后一个 KEYDOWN 事件