2010-11-05 14 views
5

मुझे std::set<int> मिला है जिसमें n आइटम हैं। और मैं n-k से अधिक तत्वों से छुटकारा पाना चाहता हूं और पहले (कम से कम) k तत्वों को रखना चाहता हूं। मुझे ऐसा कैसे करना चाहिए? क्या इसके लिए एक पूर्व परिभाषित कार्य है?एक सेट को विभाजित करना (सी ++)

उत्तर

9

std::set आदेश दिया गया है।

std::set<int>::const_iterator i = myset.begin(); 
std::advance(i, k); 
myset.erase(i, myset.end()); 
+2

'std :: अग्रिम (मैं, कश्मीर);', निश्चित रूप से? –

+1

निश्चित रूप से, मुझे आश्चर्य है कि मैं क्या सोच रहा था। – Benoit

+1

'std :: set नहीं होना चाहिए ::' std :: set :: const_iterator' के बजाय iterator'? –

संबंधित मुद्दे