Udostępnij za pośrednictwem


multiset Class

Standardowa biblioteka szablonu klasy multiset jest używana do przechowywania i pobierania danych z kolekcji, w którym wartości elementy zawarte nie musi być unikatowa i które służą jako wartości klucza, zgodnie z którymi automatycznie porządkowania danych.Nie można zmienić bezpośrednio wartości klucza element zestaw wielokrotny.Zamiast tego należy usunąć stare wartości i dodaje elementy z nowych wartości.

template <
   class Key, 
   class Compare=less<Key>, 
   class Allocator=allocator<Key> 
>
class multiset

Parametry

  • Klucz
    Typ elementu danych mają być przechowywane w zestaw wielokrotny.

  • Porównaj
    Typ, który zawiera obiekt funkcji można porównać dwie wartości elementu jako klucze sortowania do określenia ich kolejności względnej w zestaw wielokrotny.Predykatu dwuelementowego mniej<Key> Wartość domyślna.

  • Allocator
    Typ, który reprezentuje obiekt przechowywane alokatora mieszczącą się szczegółowe informacje o alokacji i dezalokacji pamięci zestaw wielokrotny.Wartością domyślną jest programu przydzielania*<Key>.*

Uwagi

STL klasa multiset jest:

  • Asocjacyjną kontenerem, który jest kontenerem rozmiar, który obsługuje efektywnego pobierania wartości elementów na podstawie skojarzonego wartości kluczy.

  • Odwracalne, ponieważ zapewnia on Iteratory dwukierunkowy dostępu jej elementy do.

  • Posortowane, ponieważ jego elementy są uporządkowane według wartości kluczy w kontenerze zgodnie z określonym porównanie funkcji.

  • Wiele w znaczeniu, że jego elementy nie trzeba mieć unikatowe klucze tak, aby jedna wartość klucza może mieć wiele wartości elementu skojarzonego z nim.

  • Proste kontenera asocjacyjnych, ponieważ jego wartości elementów są jego wartości klucza.

  • Klasa szablonu, ponieważ zapewnia funkcjonalność jest rodzajowy i tak niezależnie od określonego typu danych zawartych jako elementy.Typ danych ma być używany zamiast określony jako parametr szablonu klasy wraz z porównania funkcji i przydzielania.

Iteratora, świadczone przez klasę multiset jest iteratora dwukierunkowe, ale funkcje składowe klasy wstawić i zestaw wielokrotny wersji, które jako parametry szablonu słabsze iteratora wejściowy, którego wymagania funkcjonalności są bardziej minimalne, niż te, które są gwarantowane przez klasę Iteratory dwukierunkowego.Pojęcia dotyczące różnych iteratora formularza rodziny powiązane przez udoskonalenia w ich funkcje.Każde pojęcie iteratora ma własny zestaw wymogów i algorytmów, które działają z nimi musi ograniczyć ich założeń, jakie wymagania określone przez ten typ iteratora.Można przyjąć, że wejściowe iteratora może usunąć odwołania do odwoływania się do jakiegoś obiektu, i że może zwiększana do następnego iteratora w sekwencji.Jest to minimalny zestaw funkcji, ale wystarczy, aby móc mówić przydatnie o zakres Iteratory [_First, _Last) w kontekście funkcje składowe tej klasy.

Wybór typu kontenera powinny być ogólnie na podstawie typu wyszukiwania i wstawianie wymagane przez aplikację.Pojemniki asocjacyjną są zoptymalizowane dla operacji wyszukiwania, wstawiania i usuwania.Funkcje składowe, wyraźnie obsługujących operacje te są skuteczne wykonywanie ich w określonym, średnia proporcjonalna do logarytmu liczby elementów w kontenerze.Wstawianie elementów unieważnia Iteratory nie i usuwanie elementów unieważnia tylko Iteratory, które miały wyraźnie wskazała na elementy usunięte.

Zestaw wielokrotny powinny być spełnia asocjacyjną kontener wybór, gdy warunki, kojarzenie wartości z ich klucze są przez aplikację.Elementy zestaw wielokrotny może być wiele i służyć jako własne klucze sortowania, więc nie są unikatowe klucze.Model dla tego typu Struktura jest uporządkowana lista, powiedz, wyrazy, w których wyrazy może występować więcej niż raz.Miał wiele wystąpień słów nie zezwolono, następnie zestaw byłaby struktury odpowiedni kontener.Jeśli unikatowe definicje zostały dołączone jako wartości do listy unikatowych słów kluczowych, mapy byłoby właściwe struktury zawierają dane.Jeśli zamiast definicje nie były unikatowe, Mapa wielokrotnego dopasowania byłoby wybranego kontenera.

Zestaw wielokrotny zamówienia sekwencji kontroluje przez wywołanie funkcji przechowywanej obiektu typu Compare.Ten obiekt przechowywanych jest porównanie funkcji można uzyskać dostęp, wywołując funkcję Członkowskie key_comp.Ogólnie rzecz biorąc, elementy muszą być jedynie mniej niż porównywalne do ustanowienia tej kolejności: tak, że biorąc pod uwagę dwa elementy, może być ustalona, albo że są równoważne (w tym sensie, że nie jest mniejsza niż drugi) lub jednym jest mniejsza od drugiej.Powoduje porządkowanie między elementami nonequivalent.Na nocie technicznych funkcja porównanie jest predykatu dwuelementowego, która powoduje ścisłe słabe zamawiania w sensie matematycznych, standardowy.Predykatu dwuelementowego f(x,y) to obiekt funkcji, który ma dwa obiekty argument x i y i zwrócenie true lub false.Kolejność nałożonych na zestaw jest ścisłe słabe, zamawiania predykatu dwuelementowego jest połączone ograniczenia niezwrotne, antysymetryczna i przechodnie i jeśli równoważność jest przechodnie, gdy dwa obiekty x i y są definiowane za równoważne, gdy oba f(x, y) i f(y, x) są fałszywe.Jeśli warunek silniejsze równości klucze zastępuje równoważności, kolejność staje się ogółem (w tym sensie, że wszystkie elementy są uporządkowane w odniesieniu do siebie) i klucze dopasowywane będą indiscernible się od siebie.

w5txk7zc.collapse_all(pl-pl,VS.110).gifKonstruktory

Zestaw wielokrotny

Konstrukcje multiset oznacza to puste lub oznacza to kopii całości lub określonej części multiset.

w5txk7zc.collapse_all(pl-pl,VS.110).gifDefinicje TypeDef

allocator_type

Typedef dla allocator klasy do multiset obiektu.

const_iterator

Typedef dla iteratora dwukierunkowe, który można odczytać const element multiset.

const_pointer

Typedef dla wskaźnika do const element multiset.

const_reference

Typedef odwołanie do const element przechowywane w multiset do odczytu i wykonywania const operacji.

const_reverse_iterator

Typedef dla iteratora dwukierunkowe, który można odczytać const element multiset.

difference_type

Element TypeDef stanowi całkowita liczba elementów multiset w zakresie między elementami wskazywanej przez Iteratory.

iteratora

Typedef dla iteratora dwukierunkowe, który można odczytać lub zmodyfikować dowolnego elementu w multiset.

key_compare

Typedef dla obiektu funkcji, który można porównać dwa klucze do określania kolejności względnej dwóch elementów w multiset.

key_type

Typedef dla obiektu funkcji, który można porównać dwa klucze sortowania do określenia kolejności względnej dwóch elementów w multiset.

wskaźnik

Typedef dla wskaźnik do elementu multiset.

Odwołanie

Typedef odwołanie do elementu, przechowywane w multiset.

reverse_iterator

Typedef dla iteratora dwukierunkowe, który można odczytać lub zmodyfikować element w odwróconej multiset.

size_type

Typ Liczba całkowita bez znaku, który może reprezentować liczbę elementów w multiset.

value_compare

Element typedef dla obiektu funkcji, który można porównać dwa elementy jako klucze sortowania do określenia ich względną kolejność, w multiset.

value_type

Element typedef, który opisuje obiekt zapisany jako element jako multiset jako wartość.

w5txk7zc.collapse_all(pl-pl,VS.110).gifMetody

Rozpocznij

Zwraca iterację, który wskazuje pierwszy element w multiset.

Wyczyść

Usuwa wszystkie elementy multiset.

Licznik

Zwraca liczbę elementów w multiset której klucz pasuje do klucza, określony jako parametr.

pusty

Badania, jeśli multiset jest pusta.

koniec

Zwraca iterację, który wskazuje położenie po ostatnim elementem w multiset.

equal_range

Zwraca parę Iteratory.Pierwszy iteratora w punktach pary do pierwszego elementu w multiset z kluczem, który jest większa od określonego klucza.Drugi iteratora w punktach pary do pierwszego elementu w multiset z kluczem, który jest równy lub większy niż klucz.

Wymaż

Usuwa element lub zakres elementów w multiset z określonych pozycjach lub usuwa elementy, które odpowiadają określonym kluczem.

Znajdź

Zwraca iterację, który wskazuje lokalizację pierwszy element w multiset który ma klucza równej określonego klucza.

get_allocator

Zwraca kopię allocator obiekt, który jest używany do konstruowania multiset.

Wstaw

Wstawia element lub zakres elementów do multiset.

key_comp

Zawiera obiekt funkcji, który można porównać dwa klucze sortowania do określenia kolejności względnej dwóch elementów w multiset.

lower_bound

Zwraca iterację do pierwszego elementu w multiset z kluczem, który jest równa lub większa od określonego klucza.

max_size

Zwraca maksymalną długość multiset.

rbegin

Zwraca iterację, który wskazuje pierwszy element w odwróconej multiset.

rend

Zwraca iterację, prowadzącą do lokalizacji, w której uprawiane następczo ostatni element w odwróconej multiset.

rozmiar

Zwraca liczbę elementów w multiset.

Zamień

Wymiany elementów dwóch multisets.

upper_bound

Zwraca iterację do pierwszego elementu w multiset z kluczem, który jest większa od określonego klucza.

value_comp

Pobiera kopię obiektu porównania, który jest używany do kolejności wartości elementu multiset.

Wymagania

Nagłówek: <set>

Obszar nazw: std

Zobacz też

Informacje

Bezpieczeństwo wątków w standardowa biblioteka języka C++

Standardowa biblioteka szablonu

Inne zasoby

Członkowie multiset

<set> Członkowie