2013-10-24 23 views
0

如果我有這樣一個基本的列表:C++ std ::插入中間和結束之間的列表?

std::list<int> mylist; 
mylist.push_front(1); 
mylist.push_front(2); 
mylist.push_front(3); 
mylist.push_front(4); 
mylist.push_front(5); 
mylist.push_front(6); 
mylist.push_front(7); 

我將如何插入3和4之間的8號?

+8

['標準::目錄:: insert'(http://en.cppreference.com/w/cpp/container/list/insert) – P0W

+3

發生了什麼事到文檔?所有的網站都停了嗎? –

+0

@LightnessRacesinOrbit感謝您的非凡貢獻。非常感謝... – user997112

回答

1

如果您的列表按照比較標準進行排序,那麼這應該有效。該列表還可以含有重複:

mylist.insert(std::upper_bound(mylist.rbegin(), mylist.rend(), 3).base(), 8); 

std::upper_bound迭代器返回到所述第一位置,其中進行比較的值是大於3std::insert插入8在該位置。

+0

你可能應該解釋一下,這是假定列表有一定的排序。 – juanchopanza

+0

@juanchopanza編輯。 – Kunal

相關問題