我想讓用戶能夠定義將過濾數據的範圍。所定義的範圍可以是連續的,重疊的或分開的(例如,用戶輸入以下範圍:1-10,5-10,10-12,7-13和15-20)。C++中的數據範圍過濾器
然後我想過濾數據,以便用戶只顯示那些範圍內的內容。
我可能會在不同的圖層上創建代碼,將合適的範圍合併(因此上面的示例將變爲1-13和15-20,但我不希望我的數據服務與此有關,所以它必須能夠處理上面的例子)
我有很多的數據和速度是一個優先事項,所以我不想遍歷每個數據項的範圍列表來檢查它是否應該向用戶顯示或不顯示。
是否有一個數據結構(或某種算法)可用於實現這一目標?
不會使過濾器中的範圍合理嗎?這也將簡化任務。 – pmr 2010-07-26 15:51:35
我更感興趣的是看看是否有一種解決方案不需要將它們組合起來。如果所有合理的解決方案都要求只有分開的範圍,那麼只要用戶在數據服務必須處理之前輸入數據,我就會執行此處理。 – MarkB42 2010-07-26 17:11:58