Tablicę dynamiczną można zaimplementować za pomocą wektora w C++. Elementy można dodawać do wektora na różne sposoby. Funkcja push_back() to jeden ze sposobów wstawienia nowego elementu na końcu wektora, który zwiększa rozmiar wektora o 1. Funkcja ta jest przydatna, gdy wymagane jest dodanie jednego elementu do wektora. Jeżeli typ danych wektora nie obsługuje wartości przekazanej przez argument tej funkcji, wówczas zostanie wygenerowany wyjątek i żadne dane nie zostaną wstawione. Sposób wstawiania danych w wektorze za pomocą funkcji push_back() został pokazany w tym tutorialu.
Składnia:
wektor :: push_back ( typ_wartości rz ) ;Wartość n zostanie wstawiona na końcu wektora, jeśli typ danych wektora obsługuje typ danych n. Nic nie zwraca.
Warunek wstępny:
Przed sprawdzeniem przykładów w tym samouczku musisz sprawdzić, czy w systemie jest zainstalowany kompilator g++. Jeśli używasz Visual Studio Code, zainstaluj niezbędne rozszerzenia, aby skompilować kod źródłowy C++ w celu utworzenia kodu wykonywalnego. W tym przypadku do skompilowania i wykonania kodu C++ użyto aplikacji Visual Studio Code. W następnej części tego samouczka pokazano różne zastosowania funkcji push_back() do wstawiania elementów do wektora.
Przykład-1: Dodawanie wielu elementów na końcu wektora
Utwórz plik C++ z następującym kodem, aby wstawić wiele elementów na końcu wektora za pomocą funkcji push_back(). W kodzie zdefiniowano wektor trzech wartości łańcuchowych. Funkcja push_back() została wywołana trzykrotnie w celu wstawienia trzech elementów na końcu wektora. Zawartość wektora zostanie wydrukowana przed i po wstawieniu elementów.
//Dołącz niezbędne biblioteki
#include
#uwzględnij
za pomocą przestrzeń nazw st ;
wew główny ( )
{
//Zadeklaruj wektor wartości łańcuchowych
wektor < strunowy > ptaki = { „Szara papuga” , „Diamentowy gołąb” , 'Koktajl' } ;
cout << „Wartości wektora przed wstawieniem: \N ' ;
//Iteruj wektor za pomocą pętli, aby wydrukować wartości
Do ( wew I = 0 ; I < ptaki. rozmiar ( ) ; ++ I )
cout << ptaki [ I ] << ' ' ;
cout << ' \N ' ;
/*
Dodaj trzy wartości na końcu wektora
za pomocą funkcji push_back().
*/
ptaki. push_back ( Maja ) ;
ptaki. push_back ( „Papułki” ) ;
ptaki. push_back ( 'Kakadu' ) ;
cout << „Wartości wektora po wstawieniu: \N ' ;
//Iteruj wektor za pomocą pętli, aby wydrukować wartości
Do ( wew I = 0 ; I < ptaki. rozmiar ( ) ; ++ I )
cout << ptaki [ I ] << ' ' ;
cout << ' \N ' ;
powrót 0 ;
}
Wyjście:
Po wykonaniu powyższego kodu pojawią się następujące dane wyjściowe. Wynik pokazuje, że na końcu wektora wstawiono trzy nowe elementy.
Przykład-2: Wstaw wartości do wektora poprzez wprowadzenie
Utwórz plik C++ z następującym kodem, aby wstawić element do pustego wektora, pobierając wartości od użytkownika i używając funkcji push_back(). W kodzie zadeklarowano pusty wektor typu integer. Następnie pętla „for” pobiera od użytkownika 5 liczb i wstawia je do wektora za pomocą funkcji push_back(). Zawartość wektora zostanie wydrukowana po wstawieniu.
//Dołącz niezbędne biblioteki#include
#uwzględnij
za pomocą przestrzeń nazw st ;
wew główny ( )
{
//Zadeklaruj wektor całkowity
wektor < wew > intWektor ;
//Zadeklaruj liczbę całkowitą
wew numer ;
cout << „Wpisz 5 liczb: \N ' ;
/*
Wykonaj pętlę 5 razy, aby wstawić 5 wartości całkowitych
do wektora za pomocą funkcji push_back().
*/
Do ( wew I = 0 ; I < 5 ; I ++ ) {
jedzenie >> numer ;
intWektor. push_back ( numer ) ;
}
cout << „Wartości wektora po wstawieniu: \N ' ;
//Iteruj wektor za pomocą pętli, aby wydrukować wartości
Do ( wew I = 0 ; I < intWektor. rozmiar ( ) ; ++ I )
cout << intWektor [ I ] << ' ' ;
cout << ' \N ' ;
powrót 0 ;
}
Wyjście:
Po wykonaniu powyższego kodu pojawią się następujące dane wyjściowe. Wynik pokazuje, że pięć liczb pobranych od użytkownika zostało wstawionych do wektora.
Przykład 3: Wstaw wartości do wektora w oparciu o konkretny warunek
Utwórz plik C++ z następującym kodem, aby wstawić określone liczby z tablicy liczb całkowitych do pustego wektora. W kodzie zadeklarowano pusty wektor i tablicę 10 liczb całkowitych. Pętla „for” została użyta do iteracji każdej wartości tablicy i wstawienia liczby do wektora za pomocą funkcji push_back(), jeśli liczba jest mniejsza niż 30 lub większa niż 60. Zawartość wektora zostanie wydrukowana za pomocą display_vector() po wstawieniu.
//Dołącz niezbędne biblioteki#include
#uwzględnij
za pomocą przestrzeń nazw st ;
//Wyświetl wektor
próżnia wektor_wyświetlania ( wektor < wew > liczby )
{
//Wydrukuj wartości wektora za pomocą pętli
Do ( automatyczny On = liczby. zaczynać ( ) ; On ! = liczby. koniec ( ) ; On ++ )
cout << * On << ' ' ;
//Dodaj nową linię
cout << ' \N ' ;
}
wew główny ( )
{
//Zadeklaruj wektor całkowity
wektor < wew > intWektor ;
//Zadeklaruj tablicę liczb
wew mojaArray [ 10 ] = { 9 , Cztery pięć , 13 , 19 , 30 , 82 , 71 , pięćdziesiąt , 35 , 42 } ;
/*
Wykonaj iterację pętli, aby odczytać każdy element tablicy
i wstaw te wartości do wektora
które są mniejsze niż 30 i większe niż 60
za pomocą funkcji push_back().
*/
Do ( wew I = 0 ; I < 10 ; I ++ ) {
Jeśli ( mojaArray [ I ] < 30 || mojaArray [ I ] > 60 )
intWektor. push_back ( mojaArray [ I ] ) ;
}
cout << „Wartości wektora po wstawieniu:” << koniec ;
wektor_wyświetlania ( intWektor ) ;
powrót 0 ;
}
Wyjście:
Po wykonaniu powyższego kodu pojawią się następujące dane wyjściowe. Wynik pokazuje, że do wektora wstawiono liczby 9, 13, 19, 82 i 71.
Wniosek:
W C++ istnieje wiele funkcji umożliwiających wstawianie danych na początku lub na końcu albo w dowolnej konkretnej pozycji wektora, np. push_front(), wstawka() itp. Korzystanie z funkcji push_back() zostanie wyjaśnione po przećwiczeniu przykładów pokazanych w tym samouczku .