375 тізбектің соңына (соңғы элементтен кейін орналасқан элементке итератор)
қайтарады.
Екінші форма
pred предикаты арқылы функция немесе функционалдық
объект түрінде берілген шартты қанағаттандыратын көршілес элементтерді
та ба ды.
Мысал (программа бүтін сан түрінде берілген жиымтың ең сол жағында
орналасқан бірдей элементтер жұбын жəне құрылымдағы өрістер қосындысы
тең болатын элементтер жұбын табады):
#include using namespace std; struct A{ int x, y;}; bool f(A &a1, A& a2){ return a1.x + a1.y == a2.x + a2.y;} int main (){ int m[8] = {45, 60, 60, 25, 25, 2, 13, 35}; cout << *(adjacent_fi nd(m, m + 8)); // Нəтижесі: 60 A ma[5] = {{2,4}, {3,1}, {2,2}, {1,2}, {1,2}}; cout << (*adjacent_fi nd(ma, ma + 5, f)).x << endl; // Нəтижесі: 3 return 0; } count, count_if count алгоритмі белгілі бір мəннің тізбекке ену нұсқаларының санын
есептеуді орындайды:
template typename iterator_traits::difference_type count(In fi rst, In last, const T& value); Алгоритмнің бұл формасы берілген
value мəнінің тізбекті контейнердегі
енгізілулер санын анықтайды. Нəтиженің типі ретінде екі итератор арасындағы
айырма –
difference_type (358 б. қараңыз) типі қабылданады.
count_if алгоритмі тізбекте шарттың орындалу санын есептейді:
template typename iterator_traits::difference_type count_if(In fi rst, In last, Pred pred); Алгоритмнің бұл формасы тізбекті контейнерде функция немесе
функционалдық объект түрінде