Учитывая, что у меня есть структура данных,Как изменить существующую функцию поиска stl в C++?
struct data{
int val;
};
struct data A[LEN]; // LEN: some length.
// the below operator would be used in sorting.
bool operator < (struct data &a1, struct data &a2){
return a1.val < a2.val;
}
int main(){
// fill up A.
sort(A, A+LEN); // sort up A
/*Now I want something like this to happen ..
x = find(A, A+LEN, value); -> return the index such that A[index].val = value,
find is the stl find function ..
*/
}
Как ты это делаешь? И для любой функции stl, как вы узнаете, какие операторы переопределить, чтобы она работала в данном условии?
Вы изучаете [алгоритмы бинарного поиска] (например, http://en.wikipedia.org/wiki/Binary_search_algorithm) (например) ... –
Я действительно хочу изменить код, так как он работает с функцией поиска stl , :) – Ninja420
Это непонятно. Заголовок вопроса - «как написать свою собственную функцию поиска». Но теперь вы спрашиваете, как использовать функцию поиска STL? –