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);
Алгоритмнің бұл формасы тізбекті контейнерде функция немесе
функционалдық объект түрінде
Достарыңызбен бөлісу: |