public static void Main(string[] args) { QueueArr q = new QueueArr(); Request r1 = new Request(1); q.AddReq(r1); Request r = new Request(); if (q.RemoveReq(out r)) Console.WriteLine(r.request); }
public virtual bool RemoveReq(out Request req) { req = new Request(); return false; }
public virtual void AddReq(Request req) { }
public override bool RemoveReq(out Request req) { req = new Request(); if (IsEmpty) return false; NumReq--; req = Pool[LastReq]; Pool.RemoveAt(LastReq); LastReq -= 1; return true; }
public override void AddReq(Request req) { if (IsFull) return; Pool.Add(req); NumReq++; LastReq += 1; }
public override bool RemoveReq(out Request req) { req = new Request(); if (IsEmpty) return false; NumReq--; req = Pool[LastReq]; LastReq = (LastReq - 1) % MaxSize; return true; }
public override void AddReq(Request req) { if (IsFull) return; NumReq++; LastReq = (LastReq + 1) % MaxSize; Pool[LastReq] = req; }