Г. Шилдт - Полный справочник по C++ (1109478), страница 124
Текст из файла (страница 124)
Возвра(цвет итератор, установленный на элемент, следующий за последним удаленным элементом. Возврашает итератор„установленный на первый элемент двустороннеи очереди. Возвращает распределитель памяти для вектора. Вставляет значение чи( непосредственно перед элементом, на который ссылается итератор Ь Возврашает итератор, установ- ленный на этот элемент. Вставляет лихи копий значения ча1 непо- срелственно перел элементом, на который ссылается итератор Ь Вставляет элементы послецовательности, опрелеленной итераторами з(ас( и ею4 не- посредственно перед элементом, на кото- рый ссьшается итератор Ь Возврашает максимальное количество эле- ментов, которые могут храниться в векторе Возврашдет ссылку на (-й элемент. Удаляет последний элемент вектораа.
Добавляет элемент, имеюшии значение ча(, в конец вектора. Возврашает обратный итератор, установленный в начало вектор. Возврашает обратный итератор, установ- ленный в конец вектора. Устанавливает емкость вектора равной или превосходяшей инин. Меняет размер вектора на значение, заданное параметром лиль Если вектор необхоцимо удлинить, элементы, имеюшие значение чи(, цобавляются в конец. Возврашает текушее количество элементов, находяшихся в векторе.
Меняет местами элементы, хранящиеся в вызывающем векторе, и объекты оЬ. Глава 33. Стаидартиые контейнерные классы Библиотека б'П также содержит специыизацик класса меосок для булевых значений. Он обладает всеми функциональными возможностями вектора и добавляет сщс две функции-члена. мезе сззр[~з Иивертирует все биты, хранясзиеся в векторе. еьесьс "коке веер(кевекегсе ккеяекепсе /) г Меняет местами рй и з-й зпемеиты вектора.
Часть й, библиотека стандартных классов Я этой ~лаве описываются алгоритлгы, определенные в стандартной библиотеке шаблонов. Они оперируют с контейнерами с помощью итераторов и реализуются в виде ггщблонных функций. Опрелеления имен обобщенных типов, используемых станлартными алгоритмами, приведены ниже. Двунаправленный итератор Прямой итератор Итератор ввода Итервтор вывода Итервтор произвопьногодоступа Некий тип данных Некая разновидность целочисленного типа Некий тип Функции Функция, генерирующая объекты Бинарный првдикат Унврный предикат Функция сравнении ВЛ1гег Рогхгег хп1свг Оигхгвг Вапдхсег ялга Рчпс аепегегог влпвгвп ппвгея совр Алгоритм а4асеп$ йпд Се)пр1аге <с1авв Рогтгег> Рогтгег ай3асепс гьпг)(Рогтгег аан, Рогтгег епА г Сеюр1аге <с1авя Рогтсег, с1авв Влпргег)> Рогхсег аг)басепс гХпс)(Рогхсег мап, Рогхсег епг(, ВкпРгес) р)п) Алгоритм Ыпагу аеагсп г г Сеп~р1аге <с1аяя Рогтгег, с1аяя Т> Ьоо1 ьлпагу яеагсЬ(Рогхсег мап, Рогхсег еЫ, сопев т ага()г сезпр1асе <с1авв Рогхсег, с1аяе т, с1аяя сопгр> ьоо1 ьлпагу яеагсь(Рогхсег гает, Рогхсег егк(, сопят.
т вие(, согкр гтпр)н)г Алгоритм Ьзпагу ввагсЬ() выполняет бинарный поиск алел(ента, имеющего значение нтг', в последовательности, определенной итераторами згагг и епгб Если искомый элемент найден, алгоритм возвращает значение сгвв, в противном случае он возвращает значение Разве. Первая версия алгоритма выполняет поиск, проверяя элементы на равенство. Вторая версия позволяет программисту самому задать функцию сравнения. Алгоритм сору Сеюр1аге <с1аяя Хптгег, с1аяя Оцгтгег> Оцсег сору(хпхсег г!ап, хпхсег его, Оцсхсег гезий); Часть й).
Библиотека стандартных классов Алгоритм аЩасепс ялпгз() выполняет поиск одинаковых соседних элементов в послеловательности, определенной итераторами пагт и ег)гг', и возвращает итератор, установленный на первый элемент. Если искомая пара не найдена. алгоритм возвращает итератор елгб Первая версия алгоритма выполняет поиск эквивалентных элементов. Вторая версия позволяет программисту самолгу указать мстол определения совпадающих элементов. Алгоритм сору() копирует последовательность, определенную итсраторами згаг) и елг!. в последовательность, на которую ссьшастся итсратор гево1с.
Ллгоритм возврашаст итсратор, установленный на рсзультируюшую псслсдоватсльность. Копируемый диапазон нс должен перекрываться с последовательностью тези(!. Алгоритм сору ЬасЬчагд свпр1ате <с1овя В11свг1, с1авв В11сет2> В(тсет2 сору,ьасйиатс((ВХХсет) пап, В11сег1 е»е(, В11тет2 гюил) Ллгоритм сору Ьас)тиагй() совпадает с алгоритмом сору(). Единственное отличие загс!кзчастсл в том, по рсзультируюшая последовательность записывается в обратном порядке. Алгоритм сооп1 тепр1асе <сХаяв Хпттвт, с1авв Т> рттс)хбг т соцпс(1пХтет з(ап, Хг1тет е»а', сопят т ька!); Алгоритм соипс() возврашаст количество элементов, имею(дих значение га(, в послсловазсльности, определенной итсраторами згаг! и ег!г!.
Алгоритм соцп1 Н твпруатв <сХаяв 1пХтет, с1авя Т> ротс)1(х т сопит 11(1пхсег згаг(, хпХсег е»г), боргес) йГ»); Алгоритм ссопс Хв() возврашаст количество элементов. соотвстствуюших унарному предикату )ф!, в последовательности. определенной итсраторами згаг( и еЫ. Тип ргсг(ьгт с прслставляст собой разновилносгь целого числа, Алгоритм есина! ! тетр1атв <с1авв ХпХтег1, с1аяв ХпХтет2> ьоо1 еч;са1(1пХтотг ггап(, хпХгет1 е»г)(, ХпХтег2 пае!2) ! с~йр1асв <с) авя ХВ1таг1. сХаяя Хп1твт2, с1аяя В(тртгк)> Ьоо! ецпа1(1пХтвг1 паем, ХпХСег1 е»а), Хп1тет2 пап2, Вьпртеб рг»)," Ллгоритм в(гиа1() проверяет, совпадает ли диапазон, ограниченный итсраторами пап! и елг(), с послсловатсльностью.
на которую ссылается итсратор згае(2. Если лиапаюны совок)лют, возврашастся значение стив, если нет — ваХвв. Вторая версия позволяет программисту самому задать бинарный прсликат, опрсдсляюший условно зкви валентности двух злсмснтов. Алгоритм еооа1 гапяе тепрХатв <сХаяв Вот1гет, с1авв Т> раьт<уот1сет, Ротттет> ес(иа1 галде(вогХСег пап, УогХтет е»г(, сопят Т Ьаа!)! сепр1асв <с1аяя Рогтгег, с1авв Т, с1авя сопр> раьт<уотХтет, Рог1тег> ечса1 талое(уотХгвт пап, уотттот е»г(, сопят Т ага(, Сопр оиЛХ»); Ллгоритм вг)иа1 гапдв О возврашаст диапазон, допускаюший вставку элементов без нарушения порядка. Область поиска такого диапазона ограничена итсраторами з(аг( Глава 34.
Стандартные алгоритмы и ел»(. Значение, подлежащее вставке, задается параме»рол» Раб Вторая версия позволяет программисту самому задать функцию сравнения, определяющую критерий поиска. Шаблонный класс ра1т является вспомогательным. Он позволяет хранить пару обьектов в полях елтвс и весогиз. Алгоритмы Л!! и Я и » Геяр1ате «с1аяя Рог1тет, с1аяя Т> яо1с) Е111(Ротттет паг», Рот1тет е»И, сопят т ь>ал » Геа»р1асе <с1аяя Оит1тет, с1аяя В1те, с1аяя Т> »го1<) е».11 г»(оит1гет магг, вате агап, сопят т ага))» Ачгоритмы Е111О и Е111 и() заполняют диапазон значением ааб Диапазон, заполняемый функцией Е111(), ограничен итераторами з»аг» и е»»»Е Начало диапазона, заполняемого функцией Е111 и(), ЗаЛаетсЯ итератором лтаг».
Он солержит»»иа» элементов. Алгоритм Яп(! те»лр1ате <с1яяя 1п1тет, с1аяя Т> Хп1тет Е1пс)(1п1сет мап, 1птсет еа»(, сопят т ага(); Ачгоритм Е1п((() выполняет поиск элемента, ил»еющего значение нИ, в последовательности, ограниченнои итераторами магг и елИ. Если искомый элемент наилен, алгоритм возвращает итератор, установленный на его первое вхождение. В противном случае он возвращает итератор елс( Алгоритм йпб! еп(! Геа»р1ате <с1аяя Ротттет1, с1аяв Ротттет2> Ротттет1 Е1пс» епс)(Рот1тет1 пап), Роттсет1 е»»»(!, Рот1тет2 з»аа2, Рог1тет2 е»»с)2)» Гетр1ате <с1авя Рот1тет1, с1аяя Рот1тет2, с1авя В1пртес)> Ротттег1 Е1пс) епс)(Рот1тет1 Пан), Рот1сет1 е»»»(), Ротттет2 з»аП2, Ротттет2 еаа»2, В1пРтей рЛ»)г Алгоритм е1п»з епе(О выполняет поиск последнего вхождения полпоследовательности, ограниченной итераторами згаг»2 и е»Ы2, в диапазон, опрелеленныи итераторами згаг»» и ел»О. Если подпоследовательность найдена, алгоритм возвращает итератор, установленный на ее первый алел»ент.
В противном случае он возвращает итератор ел»ц. Вторая версия алгоритма позволяет про»раммисту самостоятельно залавать бинарный предикат, определяющий условия совпадения. Алгоритм Япб! Ягела о$ теа»р1ате <с1аяя Рог1гет1, с1аяя Рот1тег2> Рот1тет1 11пй еьтят ое(Рот1сет1 ггап», Рогттет1 еа»(), Рот1тет2 паг»2, Рот1гет2 ев»2)» се»ар1асе <с1аяя Рот1сет1, с1аяя Рот1сет2, с1аяя В1пртес)> Рот1тет1 Е1по Егтят оЕ(Рот1тет1 з»аг»), Рот1тет1 е»»с(), Рот1гет2 ПаП2, Рот1тет2 еаза, В1пртес) ЛД»)» Алгоритм Е1п(( Е1твс оЕ() выполняет поиск первого элемента подпоследовательности, ограниченной итераторами згаг»2 и е»Ы2, совпадающего с каким-либо эле- Часть ()(.
Библиотека стандартных классов ментом диапазона, определенного итераторами згггг(1 и епг!1. Если такой элемент не найлен, алгоритм возвращает итератор епг!1. Вторая версия алгоритлга позволяет программисту самостоятельно задзвать бинарный предикат, определяющий условия совпадения. Алгоритм йпд И Сеглр1аге <с1авв 1п|тег, с1звв ипвгей 1п1сет Ххпй ххд(|пхсег х(агг, 1п1сет епг(, спРгей р1о) Алгоритм Вхпй хд() выполняет поиск элеменпс соответствующего Унарному пРедикату рпп, в диапазоне, о~Ввинченном итераторами згаг(1 и епг)1.