代碼段分配斷言向量由值x
std::vector<int> v{ 3, 8, 2, 5, 1, 4, 7, 6};
Partition(v.begin(), v.end(), v.begin());
應該重新排列矢量v,使得第一n個元素是小於或等於3,並且在下列因素大於3。將所得載體應該是這樣的:
1,2,3,5,8,4,7,6
如何測試,如果分區中產生的斷言語句的正確結果口頭斷言以下:
更大斷言矢量的第一部分僅包含元素 是小於或等於x 並且該秒部分僅包含元素 是大於x
?
你需要寫一個返回布爾一個檢查功能,並將其放置到斷言:'斷言(CheckTheVector(V))' – SingerOfTheFall
隨着遍歷所有的元素和正確的,如果表達 – Aeonos
如果有輕微彎曲的要求是可以容忍的,然後看看'std :: nth_element' – Bathsheba