队列:
public class Queue
{
public Queue() { }
public process Front() { return this.q_list.ElementAt(0); }
public int Size { get { return this.q_list.Count; } }
public bool IsEmpty { get { return this.q_list.Count <= 0 ? true : false; } }
public void Enqueue(process proc) { this.q_list.Add(proc); }
public void Dequeue() { this.q_list.RemoveAt(0); }
public List<process> q_list = new List<process>();
};
创建列表:
List<Queue> rr_list = new List<Queue>();
流程结构:
public class process
{
public int Proc_a;
public int Proc_b;
public int Proc_Index;
};
假设我想根据 Proc_Index 的值在特定位置将进程添加到列表中。我怎样才能做到这一点?我们还假设列表最初是空的。
process proc = new process{
Proc_a = 1,
Proc_b = 2,
Proc_Index = 4 };
我想将其添加到位于索引 4 的列表中的队列中。
这可能吗?
我试过了:
rr_list[proc.Proc_Index].Enqueue(proc);
但是它说找不到索引或其他问题。
我唯一能做的就是通过为最多 20 个索引添加空队列来初始化列表,但我不知道是否有更好的方法。