November 21, 2025, Friday, 324

Języki Programowania 8

From MJanik

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
-
 
[http://www.if.pw.edu.pl/~majanik/data/JP/2012/makefile.pdf Makefile - instrukcja]
[http://www.if.pw.edu.pl/~majanik/data/JP/2012/makefile.pdf Makefile - instrukcja]
 +
 +
 +
<hr />
 +
 +
---+ Kontener STL <code>std::vector</code>
 +
 +
---++ Czym jest <code>std::vector</code>?
 +
<code>std::vector</code> to sekwencyjny kontener z biblioteki STL, który przechowuje elementy w sposób ciągły w pamięci. 
 +
Umożliwia dynamiczne powiększanie i zmniejszanie rozmiaru podczas działania programu. 
 +
Dostarcza szybki dostęp do elementów przez indeks (operacja O(1)) oraz efektywne dodawanie na końcu (amortyzowane O(1)).
 +
 +
---++ Najważniejsze cechy
 +
  * Elementy są przechowywane w kolejności dodania.
 +
  * Rozmiar może się zmieniać w trakcie działania programu.
 +
  * Zapewnia dostęp za pomocą operatora <code>[]</code> i metody <code>at()</code>.
 +
  * Posiada bogaty zestaw metod do modyfikowania zawartości.
 +
 +
---++ Najczęściej używane metody
 +
  * <code>push_back(x)</code> – dodaje element na końcu.
 +
  * <code>pop_back()</code> – usuwa ostatni element.
 +
  * <code>size()</code> – zwraca liczbę elementów.
 +
  * <code>empty()</code> – sprawdza, czy wektor jest pusty.
 +
  * <code>clear()</code> – usuwa wszystkie elementy.
 +
  * <code>begin()</code>, <code>end()</code> – iteratory pozwalające przechodzić po wektorze.
 +
 +
---++ Przykład użycia
 +
<verbatim>
 +
#include <vector>
 +
#include <iostream>
 +
 +
int main() {
 +
    std::vector<int> liczby;
 +
 +
    liczby.push_back(10);
 +
    liczby.push_back(20);
 +
    liczby.push_back(30);
 +
 +
    for (size_t i = 0; i < liczby.size(); i++) {
 +
        std::cout << liczby[i] << std::endl;
 +
    }
 +
 +
    return 0;
 +
}
 +
</verbatim>
 +
 +
---++ Kiedy używać <code>std::vector</code>?
 +
  * Gdy potrzebujesz dynamicznej tablicy.
 +
  * Gdy kluczowy jest szybki dostęp do elementów.
 +
  * Gdy dane często dodajesz na końcu kontenera.
 +
  * Gdy zależy Ci na prostocie i efektywności.
 +
 +
---++ Zalety
 +
  * Bardzo szybki dostęp do elementów.
 +
  * Kompaktowe przechowywanie danych w pamięci.
 +
  * Prosta obsługa i szerokie wsparcie w STL.
 +
 +
---++ Wady
 +
  * Wstawianie elementów w środku jest kosztowne (przesuwanie danych).
 +
  * Przealokowanie podczas powiększania może czasem kosztować więcej czasu.
 +
 +
---++ Podsumowanie
 +
<code>std::vector</code> to najczęściej używany kontener STL dzięki swojej wydajności, elastyczności i intuicyjności. 
 +
W większości przypadków stanowi zalecaną strukturę do przechowywania sekwencji danych w C++.

Revision as of 13:19, 19 November 2025

Makefile - instrukcja



---+ Kontener STL std::vector

---++ Czym jest std::vector? std::vector to sekwencyjny kontener z biblioteki STL, który przechowuje elementy w sposób ciągły w pamięci. Umożliwia dynamiczne powiększanie i zmniejszanie rozmiaru podczas działania programu. Dostarcza szybki dostęp do elementów przez indeks (operacja O(1)) oraz efektywne dodawanie na końcu (amortyzowane O(1)).

---++ Najważniejsze cechy

  * Elementy są przechowywane w kolejności dodania.
  * Rozmiar może się zmieniać w trakcie działania programu.
  * Zapewnia dostęp za pomocą operatora [] i metody at().
  * Posiada bogaty zestaw metod do modyfikowania zawartości.

---++ Najczęściej używane metody

  * push_back(x) – dodaje element na końcu.
  * pop_back() – usuwa ostatni element.
  * size() – zwraca liczbę elementów.
  * empty() – sprawdza, czy wektor jest pusty.
  * clear() – usuwa wszystkie elementy.
  * begin(), end() – iteratory pozwalające przechodzić po wektorze.

---++ Przykład użycia <verbatim>

  1. include <vector>
  2. include <iostream>

int main() {

   std::vector<int> liczby;
   liczby.push_back(10);
   liczby.push_back(20);
   liczby.push_back(30);
   for (size_t i = 0; i < liczby.size(); i++) {
       std::cout << liczby[i] << std::endl;
   }
   return 0;

} </verbatim>

---++ Kiedy używać std::vector?

  * Gdy potrzebujesz dynamicznej tablicy.
  * Gdy kluczowy jest szybki dostęp do elementów.
  * Gdy dane często dodajesz na końcu kontenera.
  * Gdy zależy Ci na prostocie i efektywności.

---++ Zalety

  * Bardzo szybki dostęp do elementów.
  * Kompaktowe przechowywanie danych w pamięci.
  * Prosta obsługa i szerokie wsparcie w STL.

---++ Wady

  * Wstawianie elementów w środku jest kosztowne (przesuwanie danych).
  * Przealokowanie podczas powiększania może czasem kosztować więcej czasu.

---++ Podsumowanie std::vector to najczęściej używany kontener STL dzięki swojej wydajności, elastyczności i intuicyjności. W większości przypadków stanowi zalecaną strukturę do przechowywania sekwencji danych w C++.