本文整理汇总了C#中OrderedBag.Reversed方法的典型用法代码示例。如果您正苦于以下问题:C# OrderedBag.Reversed方法的具体用法?C# OrderedBag.Reversed怎么用?C# OrderedBag.Reversed使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OrderedBag
的用法示例。
在下文中一共展示了OrderedBag.Reversed方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FillTheKnapsack
private static void FillTheKnapsack(OrderedBag<PriceWeigth> priceWeigth, int maxCapacity)
{
double totalPrice = 0;
int lastItemIndex = 0;
var priceWeigthList = priceWeigth.Reversed().ToList();
int currentLoad = 0;
while (currentLoad < maxCapacity)
{
int crntItemWeight = priceWeigthList[lastItemIndex].Weight;
if (currentLoad + crntItemWeight <= maxCapacity)
{
totalPrice += priceWeigthList[lastItemIndex].Price;
lastItemIndex++;
currentLoad += crntItemWeight;
}
else
{
double pricePortion = (maxCapacity - currentLoad) / (double)crntItemWeight;
totalPrice += (priceWeigthList[lastItemIndex].Price * pricePortion);
currentLoad += crntItemWeight;
}
}
Console.WriteLine("Total price = {0:f2}", totalPrice);
}