Алгоритм count()
Алгоритм count()
template class InputIterator, class Type
iterator_traitsInputIterator::distance_type
count( InputIterator first,
InputIterator last, const Type& value );
count() сравнивает каждый элемент со значением value в диапазоне, ограниченном парой итераторов [first,last), с помощью оператора равенства. Алгоритм возвращает число элементов, равных value. (Отметим, что в имеющейся у нас реализации стандартной библиотеки поддерживается более ранняя спецификация count().)
#include algorithm
#include string
#include list
#include iterator
#include assert.h
#include iostream.h
#include fstream.h
/***********************************************************************
* прочитанный текст:
Alice Emma has long flowing red hair. Her Daddy says
when the wind blows through her hair, it looks almost alive,
like a fiery bird in flight. A beautiful fiery bird, he tells her,
magical but untamed. "Daddy, shush, there is no such thing,"
she tells him, at the same time wanting him to tell her more.
Shyly, she asks, "I mean, Daddy, is there?"
************************************************************************
* программа выводит:
* count(): fiery встречается 2 раз(а)
************************************************************************
*/
int main()
{
ifstream infile( "alice_emma" );
assert ( infile != 0 );
liststring,allocator textlines;
typedef liststring,allocator::difference_type diff_type;
istream_iterator string, diff_type instream( infile ),
eos;
copy( instream, eos, back_inserter( textlines ));
string search_item( "fiery" );
/********************************************************************* *
примечание: ниже показан интерфейс count(), принятый в
* стандартной библиотеке. В текущей реализации библиотеки
* от RogueWave поддерживается более ранняя версия, в которой
* типа distance_type еще не было, так что count()
* возвращала результат в последнем аргументе
*
* вот как должен выглядеть вызов:
*
* typedef iterator_traitsInputIterator::
*distance_type dis_type;
*
* dis_type elem_count;
* elem_count = count( textlines.begin(), textlines.end(),
* search_item );
***********************************************************************
int elem_count = 0;
liststring,allocator::iterator
ibegin = textlines.begin(),
iend = textlines.end();
// устаревшая форма count()
count( ibegin, iend, search_item, elem_count );
cout "count(): " search_item
" встречается " elem_count " раз(а) ";
}
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
count()
count() Функция count подсчитывает число узлов в наборе узловnumber count(node-set)Функция принимает набор узлов и возвращает количество узлов в этом наборе. Следующий пример применения функции count мы уже рассматривали в главе 6. В этом случае набор узлов образован из всех элементов
8.1.1 Алгоритм
8.1.1 Алгоритм Сразу после переключения контекста ядро запускает алгоритм планирования выполнения процессов (Рисунок 8.1), выбирая на выполнение процесс с наивысшим приоритетом среди процессов, находящихся в состояниях "резервирования" и "готовности к выполнению, будучи
Shadow count
Shadow count Число файлов Shadow, которые определены для данной базы данных. Как известно, файлы Shadow представляют собой зеркальные подобия основной базы данных. Ранее предназначенные для предохранения базы данных от неожиданной поломки жесткого диска, теперь они в основном
SEMAPHORE COUNT
SEMAPHORE COUNT Параметры в ibconfig V4_LOCK_SEM_COUNT 32ANY_LOCK_SEM_COUNT 32
Internet Connection Count
Internet Connection Count Сегодня существует масса способов подключиться к сети Интернет. Это можно сделать и через обычный модем (кстати, встроенный в любой ноутбук), и посредством высокоскоростных технологий (ADSL и спутниковая связь), и через мобильный телефон. Владельцы ноутбуков
Совет 45. Различайте алгоритмы count, find, binary_search, lower_bound, upper_bound и equal_range
Совет 45. Различайте алгоритмы count, find, binary_search, lower_bound, upper_bound и equal_range Предположим, вы ищете некоторый объект в контейнере или в интервале, границы которого обозначены итераторами. Как это сделать? В вашем распоряжении целый арсенал алгоритмов: count, find, binary_search, lower_bound, upper_bound и
Подсчет (Count)
Подсчет (Count) template ‹class InputIterator, class T, class Size›void count(InputIterator first, InputIterator last, const T& value, Size& n);template ‹class InputIterator, class Predicate, class Size›void count_if(InputIterator first, InputIterator last, Predicate pred, Size& n);count добавляет к n число итераторов i в диапазоне [first, last), для которых соблюдаются следующие
Алгоритм max()
Алгоритм max() template class Type const Type&max( const Type &aval, const Type &bval );template class Type, class Compare const Type&max( const Type &aval, const Type &bval, Compare comp );max() возвращает наибольшее из двух значений aval и bval. В первом варианте используется оператор "больше", определенный в классе Type; во втором - операция
Алгоритм min()
Алгоритм min() template class Type const Type&min( const Type &aval, const Type &bval );template class Type, class Compare const Type&min( const Type &aval, const Type &bval, Compare comp );min() возвращает меньшее из двух значений aval и bval. В первом варианте используется оператор “меньше”, определенный для типа Type; во втором - операция
Алгоритм nth_element()
Алгоритм nth_element() template class RandomAccessIterator voidnth_element( RandomAccessIterator first,RandomAccessIterator nth,RandomAccessIterator last );template class RandomAccessIterator, class Compare voidnth_element( RandomAccessIterator first,RandomAccessIterator nth,RandomAccessIterator last, Compare comp );nth_element() переупорядочивает последовательность, ограниченную диапазоном [first,last), так что все
Алгоритм partial_sum()
Алгоритм partial_sum() template class InputIterator, class OutputIterator OutputIteratorpartial_sum(InputIterator first, InputIterator last,OutputIterator result );template class InputIterator, class OutputIterator,class BinaryOperation OutputIteratorpartial_sum(InputIterator first, InputIterator last,OutputIterator result, BinaryOperation op );Первый вариант partial_sum() создает из последовательности, ограниченной
Алгоритм partition()
Алгоритм partition() template class BidirectionalIterator, class UnaryPredicate BidirectionalIteratorpartition(BidirectionalIterator first,BidirectionalIterator last, UnaryPredicate pred );partition() переупорядочивает элементы в диапазоне [first,last). Все элементы, для которых предикат pred равен true, помещаются перед элементами, для которых он равен false.
Алгоритм random_shuffle()
Алгоритм random_shuffle() template class RandomAccessIterator voidrandom_shuffle( RandomAccessIterator first,RandomAccessIterator last );template class RandomAccessIterator,class RandomNumberGenerator voidrandom_shuffle( RandomAccessIterator first,RandomAccessIterator last,RandomNumberGenerator rand);random_shuffle() переставляет элементы из диапазона [first,last) в случайном порядке. Во втором варианте можно
Функция count
Функция count number count(node-set)Функция count возвращает число узлов, которое входит во множество, переданное ей в качестве аргумента.ПримерДля того чтобы подсчитать количество всех элементов второго уровня, можно воспользоваться выражением count(/*/*). Например, для входящего
Методы Count
Методы Count Описание методовМетоды приведены для последовательности sequence of T. function Count(): integer; Возвращает количество элементов в последовательности. function Count(predicate: T->boolean): integer; Возвращает число, представляющее количество элементов последовательности,