日期:2014-05-17  浏览次数:21118 次

C#中如何实现一个总合计数值固定的队列,能返回当前队列中元素的最大值,最小值和元素个数
C#中如何实现一个总合计数值固定的队列,能返回当前队列中元素的最大值,最小值和元素个数

假设:数据元素为 结构(int id,double data),其中ID是序号,data是需计算的数值
      固定 队列 合计数值固定为 100 (data的合计数)
      当有元素加入队列时,累计data总合计;
        当总合计值大于100时,计算是否需要 移除最早的元素,(可能移除多个元素)直到队列中元素的data合计值刚好大于等于100;
        当总合计值小于等于100时,仅加入数据到队列,不移除元素。
c#

------解决方案--------------------
Queue<T>就可以了。它实现了IEnumerable<T>,所以你可以用Max Min 和 Count方法。
------解决方案--------------------
引用:
但是如何保证 队列中元素之和满足条件(固定大小)?

在Add or Remove的时候判断一下元素的和