for (i = 0; i < t; i++)
{
values.clear();
scanf("%d %d %d", &values[0], &values[1], &values[2]);
printf("%d %d %d\n", values[0], values[1], values[2]);
sort(values.begin(), values.end());
printf("%d %d %d\n", values[0], values[1], values[2]);
printf("Case %d: %d\n", i + 1, values[1]);
}
我有那個小片段。我輸入「1200 1500 1800」,它應該給我中間值 - 1500.但是,它輸出1200,最小的值。我使用的是STL的sort()對vector進行排序,然後打印值爲[1]的中間值。STL整理不起作用
但是,sort()似乎並沒有工作,打印的矢量前後是一樣的東西。
我宣佈我的矢量:
vector<int> values (3);
我試着用vector<int> values;
申報,然後push_back(0)
三次了。
我想知道爲什麼它不工作的第一種方式,但。
你的意思是'std :: nth_element'。標準庫的(標準部分)沒有像'__median'這樣的函數。 – ipc 2013-03-24 14:28:23