C ++ obejmuje

C ++ obejmuje
C ++ STL to silny zbiór klas szablonów C ++, które oferują klasy i metody z szablonami, które implementują wiele znanych i szeroko stosowanych algorytmów i struktur danych, w tym wektory, listy, kolejek i stosy. Wśród nich metoda STL obejmuje () jest bardzo przydatna do ustalenia, czy jeden posortowany zakres obejmuje inny. Innymi słowy, biorąc pod uwagę, że zestaw jest uporządkowany, warto ustalić, czy kolekcja jest podzbiorem innego zestawu, czy nie. Zarówno zakres, jak i zestaw muszą być zmontowane w ten sam sposób, zarówno w kolejności rosnącej, jak i zstępującej. Nie będzie w stanie zidentyfikować inaczej. Korzystanie z funkcji Obszona () z nagłówka „Algorytm” wykonuje tę operację. W tym artykule zbadamy cel STD :: obejmuje () i jak skutecznie go używać w programie.

Przykład 1: Program metody obejmuje () przy użyciu „<” Operator

Program pokazuje działanie metody C ++ (). Wcześniej musimy zrozumieć składnię, która jest podana w następujący sposób:

# bool obejmuje (input_iter1 start_1, input_iter2 end_1, input_iter2 begin_2, input_iter2 end_2,)

Szczegóły każdego argumentu przekazanego w metodzie obejmującej () są następujące:

input_iter1 początek_1: Zacznij od podania iteratorowi początkowej lokalizacji w posortowanej sekwencji.

input_iter1 end_1: Przesuń podany iterator do ostatniego punktu w pierwszej kolejności sekwencji.

input_iter2 początek_2: Rozpocznij drugą serię uporządkowaną, przekazując iterator do pierwszej pozycji.

input_iter2 end_2: Przesuń podany iterator do ostatniego punktu w drugiej kolejności sekwencji.

Powrót: Jeśli każdy element drugiego pojemnika jest zawarty w pierwszym pojemniku, instrukcja powrotu jest prawdziwa. Jest liniowo złożony w czasie.

Implementacja zaczyna się od włączenia biblioteki C ++, która obsługuje funkcje tego programu. Następnie ustawiamy główną metodę tego programu. W głównym kodzie zdefiniowaliśmy naszą pierwszą tablicę wektorów jako „array_1”. Zainicjowaliśmy także drugą tablicę wektorów jako „array_2”. Następnie mamy algorytm sortowania do sortowania tych dwóch tablic wektorowych. Następnie zastosowaliśmy metodę () z warunkiem IF-ELSE. Dzięki temu sprawdziliśmy, czy wszystkie elementy w wektorowej tablicy_2 leżą w wektorowej tablicy_1. Jedno z instrukcji Cout z warunku „jeśli” i z warunku „else” jest wydrukowane w wynikach warunków.

Ponieważ wszystkie elementy wektorowej tablicy_2 są obecne w wektorowej tablicy_1, pierwsza instrukcja Cout jest drukowana w następujący sposób:

Przykład 2: Program metody obejmującej () przy użyciu domyślnego komparatora

Funkcję obejmuje () można rozszerzyć za pomocą naszego niestandardowego komparatora. Składnia metod () jest podana następująco:

# bool obejmuje (input_iter1 start_1, input_iter2 end_1, input_iter2 begin_2, input_iter2 end_2, porównaj komparator)

Teraz, gdy podano składnię, szczegóły każdego wejścia w metodzie obejmują () są omówione w następujący sposób:

input_iter1 początek_1: Zacznij od podania iteratorowi pierwszej pozycji w pierwszej sortowanej sekwencji.

input_iter2 end_1: Podejmij iterator argumentu do ostatniego miejsca w pierwszej kolejności sekwencji.

input_iter2 początek_2: Wprowadź iterator do miejsca początkowego drugiej sortowanej sekwencji na początku_2.

input_iter2 end_2: Wprowadź iterator do pozycji 2 sekwencji drugiej uporządkowanej.

Porównaj komparator: Funkcja komparatora, która ocenia każdy element wartości logicznej True lub False. Ta funkcja akceptuje dwa argumenty. Nie może to zmienić wartości i może być wskaźnikiem funkcji lub obiektem funkcji.

Powrót: Prawdziwa wartość jest zwracana, jeśli każdy składnik drugiego pojemnika mieści się w pierwszym pojemniku.

Dołączyliśmy główne biblioteki C++. Następnie stworzyliśmy funkcję komparatora, która deklaruje zmienne „i” i „j” typu danych „INT”. Funkcja ma warunek „i

W montorze wydrukowane jest instrukcja IF Cout, że element w „ARR2” leży w „ARR1”.

Przykład 3: Program metody obejmuje () przy użyciu rzeczywistej aplikacji

Osoba wygrywa na loterii, jeśli wszystkie liczby na jego bilecie zostaną narysowane. Ta funkcja może być używana w systemie, w którym jest tak w przypadku identyfikacji zwycięzcy loterii lub ustalenia, czy jeden zestaw jest podzbiorem drugiego. Wyjaśnienie kodu dla tego ostatniego przedstawiono następujące:

W programie zaimportowaliśmy bibliotekę i std za pomocą przestrzeni nazw. Następnie ustawiamy główną metodę tego programu. Wewnątrz metody zadeklarowaliśmy dwie zmienne, „loteria_no” i „card_nums”, z klasy wektorowej, która ma typ Int. Następnie zainicjowaliśmy te zmienne z zestawem wektorów numerycznych. Następnie te początkowe tablice wektorowe są sortowane za pomocą metody sortowania. Następnie wywołaliśmy warunek IF-ELSE dla operacji Metody (). Obejmują one wezwanie do warunków IF, aby sprawdzić, czy wszystkie liczby na karcie są obecne w loterii.

Jak widać, generowane wyjście pokazuje, że wszystkie elementy karty są obecne w zestawie loterii.

Wniosek

To wyjaśniło podstawy wykorzystania metody obejmującej () w celu znalezienia dopasowanych komponentów. Metoda STL obejmuje () jest bardzo przydatna do ustalenia, czy jeden posortowany zakres obejmuje inny. Tutaj omówiliśmy trzy przykłady metod () w C++. Najpierw zademonstrowaliśmy dwa rodzaje użycia metody () z ich składnią i przykładem. W trzecim przykładzie wyjaśniliśmy funkcjonalność metody obejmującej (), przyjmując scenariusz prawdziwy.