Г. Шилдт - Полный справочник по C++ (1109478), страница 123
Текст из файла (страница 123)
По умолчанию в качестве контейнера используется класс чессог. В качестве контейнера можно также применять класс бек(ие. Контейнер содержит защищенный объект с, имеющий тип сопсаапег. Класс рг1огзсу цивиа солержит следующие функции-члены Функция-члея Возвращает значение сгие, если вызывающая очередь пуста, и квзве — в противном случае. Удаляет первый элемент очереди. ))сбавляет элемент, имеющии значение чала очередь с приоритетами. Возвращает текущее копичество эпементов, находящихся в оюреди.
сопвк! Возвращает ссылку на эпемент, имеющий наивысший приоритет. Сам элемент не удаляется. Ьоо1 верку() соева! чозл5 Рср() чеза ривысспвк т акад ! в1кв Куре вккв() сонэк! сспэс ча1ие Курв ВАР() Класс Вел сеюр1асе <с1аяя Кеу, с1аяя Сопд» =. 1евя<Кеу>, с1авя А11осапог = а11осэоог<кеу> с1аяя яеп Здесь кеу означает тип ключа, а совр представляет собой функцию, прслназначенную лля сравнения двух ключей. Этот класс содержи~ слелуюшис конструкторы. | ехр11ст С яеп(сопяк Ссхпр ас!лрр! = Союр[), сопев А11осэгок аа = Л11осасог() ) вес(сопев яес<кеу, сскпр, л11осасот> ао)т) ! Глава ЗЗ.
Стандартные контейнерные классы Класс пщ1сзвес обеспечивает работу с множеством, в котором каждому значению может соо~ветствова~ь лишь один ключ. Его шаблонная спецификация выглядит следуюшим образом сеюр1все <с1авв 1п1сег> вес(1птсег мат(, 1п1сег епа, ! сопэс ссзпр исзц4! = сотр(), сопэд А11осаеог аа -- А11осаеог())! «, =-, ]=., », = Класс ввс содержит такие функции-члены. Фуищиз-м)ен зсзгасог Ьздгп()! сопке 1езгвког Ьздап() аспас! Возвращает итератор, установпенныи на первый эле- мент множества. чп1й сзззх()! Удаляет все элементы из множества.
Возвращает количество экземпляров ключа К в множестве. захе Суре поппе (савве кзу суре ак) сопзст Ьао1 варку() сопзет Возвращает значение сгав, если вызывающее множе- ство пусто, и Еаззе — а противном случае. Возвращает итератср, устансвпенныи на конец множества. сопзк 1кзгзгог зпй() аопзс! 1гзгвсог впй!)! рз1г<зезгзгог.згзгзеог> Возвращает пару итераторов, установленных на перзссз1 гвпдв(аопз» кву суре ак] вый и псспедний элементы множества, содержащих сопзст указанный ключ. чохд вгвзе(звзгагог (] Удаляет элемент, на ксторь]и ссылается итератор !. Возвра- щает итератор, установпенныи на следующий элемент.
Удаляет эпементы а диапазоне от итератора ьтапдо итератора епй Возвращает итератор, установленный на элемент, следующий за псапедним удаленным элементом. Удаляет из множества элементы, имеющие ключ со значением К гока вгазз(1сзгвсог з(ап, 1сзгзеаг Еай)! зхкз суре егазв(сопзс кзу суре аа)! Возвращает итератор, устаноапенныи на заданныи кпюч. Если ключ не найден, возвращается итератор. ссылающийся на конец множества. Возвращает распредепитепь памяти дпя множества. хсвгзсох Езпй(аспас )сзу суре вк)! в11осзеаг Суре дзе а11осагог(] сопзс! Вставляет значение ьа(непосредственно перед эле- ментом, на которыи ссылается итератор 1 Возвращает итератор, установленный на этот элемент.
Вставляет элементы последовательности, определен- ной итераторами з(ат! и епй Эевгвгог 1пзегг(еевгаеог (, сопзс ча1пв суре аиа!]! Сзяст1згз <азззз Хпхгзг> гаэй хпззгс (хптсзг мал, тптс ет]й) ! рз!.г<агзгзгаг,ъоо1> т.пззгс(сопвс гзтиз туре акал ! Вставляет значение ка)в вызывающее множество. Возвращает функтор, сравнивающий ключи. Возвращает итератор, установленный на первый элемент множества, ключ которсто равен ипи превышает значение К Кзу сопрзгз кву сава)() сопке! зсегасог 1оиег Ьоспй (сопзс (сву суре вх) сопзс! Часть й(. Библиотека стандартных классов Первый конструктор создает пустое мно:кество.
Второй конструктор созлает множество, содержащее элементы объекта оЬ. Третий конструктор создает множество, содержащее элементы, изменяющиеся в диапазоне от у(ит( до еп(!. Параметр еп(р)п задает функцию, определяющую порялок следования элементов в множестве. Кроме тото, в классе ввс определены следующие операции. Окончание табл. Фуяв(н]>член Опесзяне Возвращает максимальное количество элементов, ко- торые мс]]п храниться а множестве. Возвращает обратный итератор, установленный на ко- нец множества. Возвращает обратный итератор, установленный а на- чало множества. в1зв Суре взи в1ке() сопвс] кенегвв 1сезвсог кьев1п()т сопле кечеквв ьшпвеск Нмязп() савве] кенвквв хсеквсск гесс()] сспвс квнеквв 1свкасог гепд(] аспас] В1зв суре В1зе() сс1>ВС] Возвращает текущее количество элементов множества, Меняет местами элементы, хранящиеся в вызывающем мнсзкестае, н элементы нз объекта ол. но>п внвр(век<иву, савв, а11осасск> еол) ] 1секвког порок Ьоши] Возвращает нтератор, установленный на первый эпе(сопвс иву суов аь] сопле] мент множества, ключ которого превышает значение (с нв1пе ссп(раке нв1пе сомо() сопле] Возвращает функтор, сравнивающий два значения.
КЛаСС 81аСК й Сетр1вке <с1аээ Т, с1аэв Сопеазпек = с]ес(це<т» с1аээ эеаск Здесь т обозначает тип данных, хрзняшнхся е классе акаси, а класс сопсв1пег описывает тип контейнера, в котором хранится стек Этот класс содержит следующий конструктор.
й ехр1]сзхб эпасх(сопэе Сопеахпек Ьсп( = Сопеахпек() ); Конструктор всвс]т() создает пустой стек. По умолчанию в качестве контейнера используется класс бе((пе, однако элементы стека организованы по принципу "последним вошел — первым вышел" В качестве контейнера можно также применять классы нвссог или 11вс. Контейнер содержит защищенный объект с, имеющий тип сопсвЗ.пег. Кроме того, в классе всвс)к определены следующие операции. Класс всвси содержи~ такие функции-члены. Функция-член Ьоо1 евоьу() сспвь] Описание Возвращает значение сесе, если вызыаающни стек пуст, н ев1ве — в противном случае.
Удаляет вершину стека, который с технической точки зрения является последним элементом контейнера. Добавляет элемент, имеющий значение на(, а конец стека. Последний элемент контейнера является вершиной стека. Возвращает текущее количество элементов, находящихся в стеке. нике рср() нсьз рпвысопвс нв1се суре акай ) в1зв туре вьзе() сопле] Возвращает ссылку на вершину стека, т.е. на гюспедний элемент контейнера.
Сам элемент не удаляется. сопле нв1пе курв асср(] сспвь] Глава ЗЗ. Стандартные контейнерные классы Класс всвс)с (юеспечивзет работу со стеком. Его шаблонная спецификация выглядит следующим образом. Класс чес1ог Класс уесеог обеспечивает работу с динамическим массивом. Его шаблонная спецификация выглядит следуюшнм образом. й Гепр1аее <с1аяв Т, с1авв й11осехог = а11осасог<Т» с1аяя сессог Здесь т обозначает тип данных, храняшихся в классе песеог, а класс дпосаеог за- дает способ распределения памяти.
Этот класс содержит следуюшие конструкторы. ехр11сйх чессог(сопэе А11осаоог йа = Л11осасог(]) ехр11сйг чесгог [яйле гуре нное, сопаг т йна( = т(] сосне А11осасог йа = А11осасог()]; уесеог(сопве уесгог<Т, й11осасог> йое]; гетпр1еге <с1авв 1п1гег> уесгог(тптгег пан, тп1гег епс], сепах й11осесог йа = А11осаеог(]]; «, =, ]=, », =. 3-- Класс тесеог содержит таю(е функции-члены. Фу]вяла-член Опнгннне Еешр1асе <с1авв Кпхсег> тодд авв1дп(тп?пег з(им, гпгеег ел(()) Присваивает вектору последовательность элементов, определенную итераторами гшг( и епг]. Присваивает вектору лил элементов, имеюших значение наб чпйо авв1вп(в1ве суре лит, сопве Т йна() ) Возврашает ссылку на йй элемент вектора.
геЕехепсе ах(айве Е 0) сопев геЕегепсе ае(в1хе е В соево) геЕегепсе Ьасн()) сопев хеЕегепсе Ьаск() сопвх) Возврашает итератор, установленный на последний элемент вектора. Возврашаез. итератор, установленный на первый элемент вектора. Возвращает текушую емкость вектора. Она равна количеству элементов, которые можно хранить в векторе. Удаляет все элементы из вектора.
Возврашает значение егпе, если аызы- ваюший вектор пуст, и Еа1ве — в против- ном случае. Возвращает итератор, установленный на конец вектора. ееегаеог ьедйп()) совах Ыегагог ЬедйпО солях) еЕге гуре сарасйау() соево) чоЫ с1еаг()) Ьоо1 етрву() сопвх) Ееегаеог епй()) сопве Ееегаеог епч)О сепах) Часть й(. Библиотека стандартных классов Первый конструктор создает пустой вектор. Второй конструктор созлает вектор, солержаший пят элементов, имеюших значение на1 Третий конструктор создает вектор, содержаший элементы объекта о(г Четвертый конструктор создает вектор, содержаший элементы, изменяюшиеся в диапазоне от Фаг( до ело.
Кроме того, в классе уесеог определены следующие операции. Функции.член хсегасог егаве(асегасог г)) 1сегасог егаве(хсегасог з(ап, хсегагог ии() ) гегегепсе ггопе()) сопев гегегепсе хгопс() сопев) а11осаеог Суре яее а11осаеог() савве) хсегасог 1пвегс(хсегасог В попас т ача()) чоха хпвегс(хсегасог П яхве суре лит. сопвс т акай) Севр1аее <с1авв Хпхсег> чоха 1пвеге(1еегаеог и хпхсег з(ип, зпхсег ел(()) в1ве Суре паи вх.ве() сопве) гегегепсе орегасог() (вхве Суре йсспвс) солне гегегепсе орегаеог() (вцве Суре й сопев) чохе( рор Ьаск()з чоха рсвн Ьас)<(попас г ана() з гечегве 1еегаеог гЬеяхп()) сопве гечегве хеегаеог гЬеяхп() сох1вт ) гечегве хсегаеог гепд()) сопвг ге ~егве хеегаеог гесс() со1ъв с ) чоха гевегче(вхве Суре гоп) ) чохп хевхве(в1ве Суре ннип г ча1=г())) яхве Суре яхве() сопвс) чохе вчар(чессог<т, л11осасог> аиЬ)) Оган<инне табе Описание Удаляет элемент, на который ссылается итератор Ь Возвращает итсратор, установ- ленный на слсдуюший элемент, Уцаляет элементы в лиапазонс от итератора з(их( цо итератора ель(.