Kontener typu unordered_set - zbiór niesortowany
Stronę tą wyświetlono już: 3298 razy
Wstęp
Klasa unordered_set jest dostępna od standardu C++ 11 po załączeniu pliku nagłówkowego unordered_set. Klasa ta różni się od klasy set tym, że elementy nie są dodawane z jednoczesnym sortowaniem dzięki czemu czas dodawanie kolejnych elementów jest krótszy.
Konstruktory klasy unordered_sort
Klasa unordered_sort jak każdy kontener posiada konstruktor bezparametrowy i konstruktor kopiujący:
Możliwe jest również wypełnienie obiektu klasy unordered_set elementami już na etapie konstruktora w następujący sposób:
Możliwe jest też skopiowanie wartości z tablicy:
lub innego obiektu klasy unordered_set:
Iterowanie po elementach obiektu klasy unordered_set
Iterowanie po elementach w C++ 11 wygląda następująco:
Dodawanie i usuwanie elementów klasy unordered_set
Dodawanie kolejnych elementów można wykonywać za pomocą metody insert:
natomiast do usunięcia elementu z obiektu klasy set konieczne jest metody erase:
Wynik działania powyższego kodu:
20
Możliwe jest również usunięcie wszystkich elementów obiektu klasy set za pomocą metody clear.
Zamiana elementów dwóch obiektów klasy unordered_set
Za pomocą metody swap elementy dwóch obiektów klasy unordered_set mogą zostać zamienione miejscami. Oto przykład:
Wynik działania powyższego kodu:
object unordered_set before swap operation: 0 20 30 40 100 object unordered_set2 before swap operation: 0 20 100 object unordered_set after swap operation: 0 20 100 object unordered_set2 after swap operation: 0 20 30 40 100
Znajdowanie wskaźnika na element zawarty w obiekcie klasy unordered_set oraz sprawdzanie, czy element istnieje
Za pomocą metody find można uzyskać wskaźnik na szukany element w obiekcie klasy unordered_set. Metoda ta zwraca wskaźnik na koniec gdy element nie zostanie odnaleziony. W celu sprawdzenia, czy element istnieje można posłużyć się również metodą count, która zwraca 1, gdy element istnieje a 0 w przeciwnym przypadku.
Liczba elementów zawartych w obiekcie klasy unordered_set oraz sprawdzanie, czy obiekt nie ma elementów
Liczebność elementów obiektu klasy unordered_set można uzyskać za pomocą metody size, natomiast metodą empty można uzyskać informację o tym, czy obiekt nie zawiera żadnych elementów.
Tytuł:
C++ Zbiór zadań z rozwiązaniami
Autor:
Tomasz Jaśniewski
Tytuł:
Mikrokontrolery dla hobbystów. Projekty DIY w języku C i C++
Autor:
Miguel Angel Garcia-Ruiz, Pedro Cesar Santana Mancilla
Tytuł:
Architektura oprogramowania bez tajemnic. Wykorzystaj język C++ do tworzenia wydajnych aplikacji i systemów
Autor:
Adrian Ostrowski, Piotr Gaczkowski
Tytuł:
Wprowadzenie do C++
Autor:
Michał Matlak
Tytuł:
Opus magnum C++ 11. Programowanie w języku C++. Wydanie II poprawione (komplet)
Autor:
Jerzy Grębosz
Tytuł:
Programowanie wieloplatformowe z C++ i wxWidgets 3
Autor:
Bartosz W. Warzocha
Tytuł:
Język C++ i przetwarzanie współbieżne w akcji. Wydanie II
Autor:
Anthony Williams
Tytuł:
C++ dla bystrzaków. Wydanie VII
Autor:
Stephen R. Davis
Tytuł:
Tablice informatyczne. Podstawy C++
Autor:
Radosław Sokół
Tytuł:
Opus magnum C++11. Programowanie w języku C++ (komplet)
Autor:
Jerzy Grębosz