public Queue <Package> GetPackages(int speed) { Queue <Package> packages = new Queue <Package>(); int sum = 0; while (NotNULL()) { Package pack = queue.FirstPackage(); sum += pack.Length; if (sum <= speed) { packages.Enqueue(queue.GetPackage()); } else { return(packages); } } if (packages.Count != 0) { return(packages); } else { return(null); } }
/// <summary> /// Очищает очередь для пакета /// </summary> /// <returns></returns> private bool GetPlace(int length, Queuering Packages) { while (Packages.TailDrop(length)) { //очистить нужное место Packages.GetPackage(); } return(true); }