Składnia:
szablon < class T > void swap (t & variable_1, t & varible_2);Zarówno wartość pierwszej zmiennej, jak i druga zmienna, oba, które mają wartości, należy zamienić. Funkcja po prostu przełącza wartości zmiennych; nie ma wyjścia."
Działanie funkcji swap () w c++
Funkcja swap jest zaimplementowana w C ++ przy użyciu następujących trzech wierszy.
Szablon void swap (t & i, t & j)Stwierdzenie „t temp = std :: mocowanie (i)”; tworzy kopię elementu „i” i powiela go. Tutaj „i = std :: ruch (j)”; odrzuca oryginalne elementy „i” i przechowuje kopię „J” „J” zamiast oryginalnego „J”. Formuła „j = std :: ruch (temp)”; Zapisz „I” z klonem temperatury i usuń identyczną zawartość temperatury. Usuń również zmienną tymczasową po zakończeniu wykonywania funkcji swap ().
Przykład 1: Program wykorzystujący metodę STD :: Metoda ruchu do zamiany
Jak pokazano poniżej, możemy zamienić dwa obiekty za pomocą funkcji C ++ 11 Std ::.
#włączaćMamy deklarację szablonu, która ma obiekt „t”. Następnie ustanowiliśmy funkcję jako „zamiana”. Funkcja przyjmuje dwa parametry i A i & B, typu „T”. W wyniku argumentów T&A, T&B odnoszących się lub przechowywania adresu przekazanej zmiennej i stosowania bezpośrednio do nich bez zwracania, funkcja swap (T&A, T&B) jest nazywana wywołaniem przez odniesienie.
Wewnątrz zamieniania pustki zastosowaliśmy algorytm zamiany za pomocą metody STD :: Move Method. Następnie skonstruowaliśmy główne programy programu. Tutaj zadeklarowaliśmy zmienną „listę” i zainicjowaliśmy ją z listą wartości liczbowych. Ustawiliśmy wartości „i” i „j” do zamiany. Wartość liczbowa znajdująca się w drugim indeksie została zastąpiona wartością liczbową w piątym indeksie. Następnie wywołaliśmy funkcję swap i przekazaliśmy do niej indeks „i” i „j” do zamiany. Pętla jest używana do drukowania wymienionej listy.
Wyjście wyświetlało zmodyfikowaną listę. Możesz zaobserwować nową listę wygenerowaną na zamienioną wartość zgodnie z określonymi indeksami.
Przykład 2: Program wykorzystujący metodę STD :: Metoda wymiany do wymiany
Wykorzystanie mechanizmu STD :: Występowanie w nagłówku użyteczności (w C ++ 11) jest zwykłą poprawką. Wartości dwóch obiektów są przełączane, aby działać.
#włączaćImportując plik nagłówka, możemy uzyskać dostęp do funkcji swap w naszym programie. Tutaj dołączyliśmy plik nagłówka z dwiema ważniejszymi bibliotekami. Następnie ustaliliśmy główną metodę int. W głównym programie zadeklarowaliśmy wektor, tworząc zmienną „ARR.„Zmienna„ ARR ”jest inicjowana z pięcioma elementami liczby całkowitej. Pozycje indeksu są przypisywane do „i” i „j” do zamiany. Zmienne „I” i „J” są następnie przekazywane do metody STD ::. Z pętlą dla formy wydrukowaliśmy zamienione tablice.
Lista uzyskana po operacji zamiany za pomocą metody STD :: wyświetlana jest w następujący sposób:
Przykład 3: Program wykorzystujący metodę STD :: ITER_SWAP do zamiany
Użycie algorytmu STD :: ITER_SWAP, który jest wymieniony w nagłówku algorytmu, jest dodatkową opcją. Sposób, w jaki działa, jest poprzez przełączanie wartości obiektów, na które wskazują dostarczone iteratory.
#włączaćDo głównej metody programu zadeklarowaliśmy zmienną wektorową „VEC” i przypisaliśmy jej listę liczb wektorowych. Następnie określiliśmy pozycję indeksu do zmiennej „I” i „J”. Metoda STD :: ITER_SWAP jest wywoływana przez ITER1 i ITER2 jako argument. ITER1 i ITER2 są zadeklarowane za pomocą automatycznego słowa kluczowego i mają operację iteracji. Metoda For Loop drukuje zamienione wartości tablicy wektora po wykonaniu.
Metoda STD :: ITER_SWAP z powodzeniem zamieniła wartości określonych wektorów.
Przykład 4: Program używania bez zmiennych tymczasowych do wymiany
Ten przykład pokazuje nowy sposób zamiany liczb w kodzie C ++ bez użycia zmiennych tymczasowych.
#włączaćSprawdźmy działanie tego programu. Tutaj zadeklarowaliśmy x1 i x2, które są początkowo ustawione odpowiednio z liczbą. Następnie, używając wzoru x1 = x1+ x2, dodajemy x1 i x2 i umieszczamy wynik w x1. Wskazuje to, że x1 jest równy 2 plus 12. Dlatego teraz równa się 14. Następnie stosujemy wzór x2 = x1 - x2. Wskazuje to, że x2 = 14–12. Dlatego x2 jest teraz równe 2. Jeszcze raz stosujemy wzór x1 = x1 - x2. Wskazuje to, że x1 = 14–2. Dlatego x1 = 12 na końcu. W rezultacie liczby zostały zmienione.
Liczba zamieniona przed i po wyświetlaniu na następującym ekranie podpowiedzi.
Wniosek
Tutaj omawiamy pełny opis swap () w C ++, jego użycie i niektóre przykłady pokazujące, jak funkcjonuje. Korzystając z funkcji STD :: SWAP (), można przełączyć dwie wartości zmiennych. C ++ STL zawiera wbudowaną funkcję o nazwie STD :: swap (). Wywoływanie funkcji wymiany (T & zmienna 1, T i zmienna 2) i przeciążenia C ++ swap () w zależności od rodzaju zmiennych danych są również wyjaśnione w tym samouczku.