Jakie są wektory w C ++

Jakie są wektory w C ++
C ++ zapewnia nam wiele funkcji, które są używane w tworzeniu oprogramowania w szerokim zakresie. Jedną z najbardziej przydatnych struktur danych w C ++ jest wektor, który zapewnia dynamiczny pojemnik podobny do tablicy, który można zmienić rozmiar w czasie wykonywania.

W tym artykule zbadamy kluczowe funkcje wektory W C ++, w tym sposób ich deklarowania i inicjowania, jak dodawać i usuwać elementy, jak uzyskać dostęp do poszczególnych elementów oraz jak pracować z wektorami za pomocą iteratorów.

Jakie są wektory w C++

Wektory W C ++ to potężny i dynamiczny pojemnik, który zapewnia strukturę podobną do tablicy, z możliwością zmiany rozmiaru w czasie wykonywania. Oferują elastyczną alokacja pamięci i zapewniają wydajne przechowywanie dla kolekcji elementów. Wektory można inicjować z różnymi wartościami, a elementy można łatwo dodać lub usunąć. Ponadto, wektory Zapewnij różne metody dostępu i manipulowania ich elementami, w tym stosowanie iteratorów.

Wektory są zawarte w pliku standardowego nagłówka biblioteki C ++ i należy to zadeklarować przed włączeniem wektory W programach C ++.

Deklaracja wektora w C++

W C ++, a wektor jest zadeklarowane przez następującą składnię:

wektor zmienna_nazwa;

Tutaj typ danych to rodzaj danych, które wektor będzie zawierał, podczas gdy nazwa_zmienna to nazwa wektora, którą chcesz utworzyć. Zrozummy to przykładem:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
wektor Myvector;
// Dodaj niektóre elementy do wektora
Myvector.push_back (1);
Myvector.push_back (2);
Myvector.push_back (3);
Myvector.push_back (4);
Cout << "Elements of the vector: ";
dla (int i = 0; i < myVector.size(); i++)
Cout << myVector[i] << " ";

Cout << endl;
powrót 0;

Wyjście

W tym przykładzie tworzono wektor o nazwie MyVector do przechowywania liczb całkowitych. Do wektora dodawane są cztery liczby całkowite za pomocą funkcji push_back (). Następnie używanie pętli iteruj elementy wektora i wyświetl je za pomocą operatora indeksu [].

Funkcje wektorów w C++

Oprócz funkcji członka w celu dodawania, usuwania i manipulowania elementami w wektor, Wektory C ++ obsługują również kilka innych kategorii funkcji, które są:

  • Pojemność
  • Dostęp do elementu
  • Modyfikatory
  • Iteratorzy

Zobaczmy te przykłady funkcji jeden po drugim.

1: Pojemność

Funkcje pojemności W C ++ są używane do zarządzania wielkością i pojemnością wektor. Funkcje te pozwalają uzyskać informacje o bieżącym rozmiarze i pojemności wektora, a także dostosować rozmiar i pojemność zgodnie z wymaganiami.

Poniższa tabela pokazuje szeroko stosowane funkcje w radzeniu sobie z pojemnością wektora.

pojemność() Daje nam całkowitą pojemność posiadaną przez wektor w czasie wykonywania.
rozmiar() Funkcja wielkości daje nam całkowitą liczbę elementów posiadanych przez określony wektor.
Zmień rozmiar() Użyć do rozmiaru elementów kontenera.
największy rozmiar() Zwraca element najwyższej wartości wektora.

Poniżej znajduje się przykład programu C ++, który ilustruje funkcje pojemności w c++.

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

wektor A;
A.push_back (1);
A.push_back (2);
A.push_back (3);
A.push_back (4);
A.push_back (5);
A.push_back (6);
Cout<<"Vector before resizing :";
dla (int i = 0; i < a.size(); i++)

Cout<
Cout<A.rozmiar (4);
Cout<<"Vector after resizing :";
dla (int i = 0; i < a.size(); i++)

Cout<
Cout << "\nCapacity: " << a.capacity();
Cout << "\nSize: " << a.size();
Cout << "\nMax_Size: " << a.max_size();
powrót 0;

Powyższy kod utworzył wektor A i dodał do niego elementy za pomocą pętli i push_back funkcjonować. Następnie wykorzystał funkcje pojemności pojemność(), rozmiar(), I największy rozmiar() Aby wydrukować informacje o pojemności, rozmiaru i maksymalnej wielkości wektora. Kod również używał Zmień rozmiar() funkcja w celu zmniejszenia rozmiaru wektora do 4 i wydrukuje nowy rozmiar za pomocą rozmiar().

Wyjście

2: Dostęp do elementu

Dostęp do elementu W wektorach C ++ odnosi się do możliwości odczytu i modyfikowania poszczególnych elementów wektora według ich indeksu. Istnieje kilka funkcji w C ++, które zapewniają dostęp do elementów do wektorów:

przód() Zwróć początkowy element wektora
z powrotem() Podaj nam element końcowy obecnego wektora
Na() w (a): zawiera odniesienie do elementu w wektorze w punkcie „a”

Przykład programu C ++ Funkcja dostępu do elementu podano poniżej:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
wektorA;
int n, b;
Cout<<"Please Enter Size of vector: ";
cin >> n;
Cout<<"Enter vector Elements one by one:\n";
dla (int i = 1; i<=n;i++)

cin >> b;
A.push_back (b);

Cout<<"\nVector Value at Position 2: "<Cout<<"\nFirst element of the vector: "<Cout<<"\nLast element of the vector: "<powrót 0;

Powyższy kod utworzył wektor A i skłonił użytkownika do wprowadzenia rozmiaru wektora i jego elementów. Następnie użył push_back () funkcja, aby dodać elementy do wektora i wyświetlić wartość w indeksie 2 za pomocą Na() funkcjonować. Kod również używał przód() I z powrotem() funkcje wyświetlania odpowiednio pierwszych i ostatnich elementów wektora.

Wyjście

3: Modyfikatory

Modyfikatory są funkcjami, które pozwalają zmienić zawartość wektora poprzez dodanie lub usuwanie elementów. Istnieje kilka funkcji modyfikatora dostępnych w wektorach C ++ podanych w poniższej tabeli:

przydzielać() Dodaje nowe elementy do określonego miejsca.
push_back () Zmusza komponenty w kierunku od tyłu.
zamieniać() Korzystając z innego wektora tego samego typu, elementy danych pojedynczej zmiany wektora.
jasne() Jest wykorzystywany do wyeliminowania każdego elementu obiektu wektorowego.

Przykład kodu C ++ za pomocą modyfikatorów.

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

wektor A;
A.przypisać (3, 5);
Cout << "Elements of Vectors are: ";
dla (int i = 0; i < a.size(); i++)
Cout << a[i] << " ";
wektor VEC1, VEC2;
VEC1.push_back (1);
VEC1.push_back (2);
VEC2.push_back (3);
VEC2.push_back (4);
Cout << "\n\nVector number 1: ";
dla (int i = 0; i < vec1.size(); i++)
Cout << vec1[i] << " ";
Cout << "\nVector number 2: ";
dla (int i = 0; i < vec2.size(); i++)
Cout << vec2[i] << " ";
// swaps v1 i v2
VEC1.swap (VEC2);
Cout << "\nAfter Swap Vector Elements \nVector number 1: ";
dla (int i = 0; i < vec1.size(); i++)
Cout << vec1[i] << " ";
Cout << "\nVector number 2: ";
dla (int i = 0; i < vec2.size(); i++)
Cout << vec2[i] << " ";

W powyższym kodzie przydzielać() funkcja służy do przypisania wartości do elementu wektora. Następnie tworzone są dwa wektory, a ich elementy są drukowane za pomocą pętli. Następnie zamieniać() Funkcja służy do wymiany elementów dwóch wektorów. Wreszcie elementy dwóch wektorów są drukowane ponownie po zamianie za pomocą pętli.

Wyjście

4: Iteratory

W C ++ iteratory zachowują się jak wskaźniki, umożliwiając sekwencyjnie dostęp do elementu wektorów. Iteratory w zasadzie zwiększają wydajność programu. Poniższa tabela przedstawia opis funkcji używanych w iteratorach.

zaczynać() Wskazując na pierwszą wartość iteratora wektora w C++.
koniec() Zwraca ostatni element wskazujący na pozycję końcową wektora do iteratora.
Następny() Zwraca nowy iterator, do którego iterator wskazałby, jeśli pozycje określone w jego parametrach były rozwinięte.

Przykładowy kod o iteratorach podano poniżej:

#włączać
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

wektor a = 3, 4, 5, 6, 7;
wektor:: iterator p = a.zaczynać();
wektor:: iterator f = a.koniec();
Cout << "The position of iterator using begin() : ";
Cout << *p << " ";
Cout << endl;
auto z = następny (p, 3);
Cout << "Itrator new position using next() : ";
Cout << *z << " ";
powrót 0;

Powyższy kod zadeklarował wektor „a” z wartościami i inicjuje dwa iteratorów do początku i końca wektora za pomocą "zaczynać()" I "koniec()" funkcje odpowiednio. Następnie użył "Następny()" funkcja, aby rozwijać iterator o 3 pozycje i wydrukował wartość w nowej pozycji iterator.

Wyjście

Wniosek

Wektory W C ++ są wszechstronne i dynamiczne struktury danych, które zapewniają wydajne i elastyczne sposoby przechowywania i manipulowania zbiorem danych. Dzięki ich zdolności do dynamicznego zmiany rozmiaru i wydajnego dostępu do elementów, są one potężnym narzędziem do różnych zadań programistycznych. Niezależnie od tego, czy pracujesz nad prostymi czy złożonymi projektami, rozumiesz wektory a ich możliwości mogą pomóc Ci napisać bardziej wydajny i skuteczny kod.