Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
 /// <summary>
 /// Очищает очередь для пакета
 /// </summary>
 /// <returns></returns>
 private bool GetPlace(int length, Queuering Packages)
 {
     while (Packages.TailDrop(length))
     {
         //очистить нужное место
         Packages.GetPackage();
     }
     return(true);
 }