Dodawanie elementów
Część sekcji Logika i przepływ programu ścieżki C++ w Coddy. Lekcja 11 z 56.
Skoro już wiesz, jak tworzyć wektory, nauczmy się dodawać do nich elementy po ich utworzeniu. Metoda push_back() to podstawowe narzędzie do powiększania wektora przez dodawanie nowych elementów na jego końcu.
Metoda push_back() przyjmuje jeden argument — wartość, którą chcesz dodać — i dołącza ją na końcu wektora:
std::vector<int> numbers;
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);W tym przykładzie zaczynamy od pustego wektora i używamy push_back(), aby dodać trzy liczby całkowite. Po tych operacjach nasz wektor zawiera elementy [10, 20, 30] w tej kolejności.
Zaletą push_back() jest to, że automatycznie zajmuje się zarządzaniem pamięcią. Gdy dodajesz elementy i w wektorze zabraknie miejsca, automatycznie przydziela więcej pamięci i kopiuje istniejące elementy w nowe miejsce. Dzięki temu wektory są niezwykle wygodne do tworzenia kolekcji danych, gdy nie znasz z góry ich ostatecznego rozmiaru.
Wyzwanie
ŁatwyUtwórz program, który pokazuje dodawanie elementów do wektora za pomocą metody push_back(). Zaczniesz od pustego wektora i będziesz go dynamicznie rozbudowywać, dodając liczby w określonej kolejności.
Podane zostaną następujące dane wejściowe:
- Liczba całkowita
nokreślająca, ile liczb dodać do wektora - Następnie
nliczb całkowitych, które należy dodawać do wektora po jednej
Twój program powinien:
- Utworzyć pusty
std::vector<int>o nazwienumbers - Użyć pętli, aby odczytać każdą z
nliczb wejściowych - Dla każdej liczby użyć
push_back(), aby dodać ją na końcu wektora - Po dodaniu każdej liczby wypisać aktualny rozmiar wektora oraz liczbę, która właśnie została dodana
- Na koniec wypisać wszystkie elementy wektora w jednym wierszu, oddzielone spacjami
Użyj dokładnie następującego formatu wyjściowego:
Added [number], size is now [current size]
Added [number], size is now [current size]
...
Final vector: [num1] [num2] [num3] ...Użyj metody .size(), aby po każdym dodaniu uzyskać aktualną liczbę elementów w wektorze. W końcowym wyniku użyj operatora nawiasów kwadratowych [], aby uzyskać dostęp do każdego elementu według indeksu.
Spróbuj swoich sił
#include <iostream>
#include <vector>
using namespace std;
int main() {
// Wczytaj liczbę elementów do dodania
int n;
cin >> n;
// Utwórz pusty wektor
vector<int> numbers;
// TODO: Napisz tutaj swój kod
// Wczytaj n liczb i dodaj je do wektora za pomocą push_back()
// Wypisz wymagane dane wyjściowe po każdym dodaniu
// Wypisz końcowy wektor
cout << "Final vector: ";
// TODO: Wypisz wszystkie elementy oddzielone spacjami
return 0;
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Wskaźniki i pamięć
Czym jest wskaźnik?Operator pobrania adresuOperator dereferencjiWskaźniki zeroweWskaźniki i tabliceDynamiczne zarządzanie pamięcią za pomocą „new”Zwalnianie pamięci za pomocą „delete”Podsumowanie — ćwiczenia ze wskaźnikami2Wektory (tablice dynamiczne)
Wprowadzenie do std::vectorTworzenie wektoraDodawanie elementówDostęp do elementówRozmiar wektoraIterowanie za pomocą pętli forPętla for oparta na zakresieUsuwanie elementówPodsumowanie — operacje na wektorach5Projekt: Narzędzie do zarządzania zapasami
Konfiguracja projektuDodawanie i aktualizowanie produktów3Projekt: narzędzie do listy zadań
Przegląd projektuDodawanie zadaniaPoćwicz samodzielnie: Kompilator C++ online