-1
我想在C++中使用STL使用二進制搜索;二進制搜索矢量< struct S>在c + +?
struct Z{
int i;
int j;
};
struct S{
Z z;
int k;
};
vector<S> myvec;
binary_search(myvec.begin(),myvec.end(),...);
搜索條件如下。
e.g. binary_search(myvec.begin(),myvec.end(),S2);
and s2.z.i = 1 ; s2.z.j =2; s2.k = 4 ;
如果我叫binary_search利用這些參數,那麼它應該返回true,如果there exist any struct S in vector "myvec" such that S.z.i = s2.z.i and S.z.j = s2.z.j and S.z.i!=s2.z.i .
最後如何使用STL這個向量排序?撥打sort(myvec.begin(),myvec.end());
就足夠了。
你有'bool操作符<(const S&,const S&)'? – Jarod42 2014-10-07 09:00:52
我認爲不,任何方式對在那裏。 –
user3919801
2014-10-07 09:03:14
'binary_search'不知道如何比較'struct Z'!正如@ Jarod42所說,你必須自己寫。 – GingerPlusPlus 2014-10-07 09:42:59