Programowanie w C++ – RPi – STL – Vector

Wprowadzenie.

Wektor “Vector” to kontener sekwencyjny. Kontener ten charakteryzuje się dynamiczną zmianą rozmiaru. Każdy element wektora ma określoną pozycję, która jest nadawana w momencie wstawienia kolejnego elementu do kontenera. 

Zakres artykułu.

  • Właściwości kontenera
  • Program w C++
  • Plik Makefile
  • Testy

Właściwości kontenera

  • Możliwość relatywnie szybkiego dynamicznego dodawania, usuwania elementów na końcu kontenera;
  • Kolejne elementy są przechowane w pamięci obok siebie dzięki czemu prosty jest dostęp do grupy elementów przy zastosowaniu wskaźników;
  • Możliwość uzyskania dostępu bezpośrednio do każdego elementu.

Program w C++

Kod programu, który pozwoli na przetestowanie kontenera “Vector” zapisałem w pliku main.cpp i wygląda następująco.

#include <iostream>
#include <vector>
#define LICZBA_ELEMENTOW 10
using namespace std;
int main()
{
int i = 0;
vector<int> mojKontener;
int wstawionaLiczbaElementow = 0;
vector<int>::iterator it;
vector<int>::const_iterator it1;
// Wstawianie elementów na końcu wektora
for(i=0; i<LICZBA_ELEMENTOW; i++)
{
mojKontener.push_back(i+5);
}
wstawionaLiczbaElementow = mojKontener.size();
for(i=0; i<wstawionaLiczbaElementow; i++)
{
cout << mojKontener[i] << endl;
}
return 0;
}
#include <iostream> #include <vector> #define LICZBA_ELEMENTOW 10 using namespace std; int main() { int i = 0; vector<int> mojKontener; int wstawionaLiczbaElementow = 0; vector<int>::iterator it; vector<int>::const_iterator it1; // Wstawianie elementów na końcu wektora for(i=0; i<LICZBA_ELEMENTOW; i++) { mojKontener.push_back(i+5); } wstawionaLiczbaElementow = mojKontener.size(); for(i=0; i<wstawionaLiczbaElementow; i++) { cout << mojKontener[i] << endl; } return 0; }
#include <iostream>
#include <vector>

#define LICZBA_ELEMENTOW	10

using namespace std;

int main()
{
	int i = 0;
	vector<int> mojKontener;
	int wstawionaLiczbaElementow = 0;

	vector<int>::iterator it;
	vector<int>::const_iterator it1;

	// Wstawianie elementów na końcu wektora
	for(i=0; i<LICZBA_ELEMENTOW; i++)
	{
		mojKontener.push_back(i+5);
	}
	wstawionaLiczbaElementow = mojKontener.size();

	for(i=0; i<wstawionaLiczbaElementow; i++)
	{
		cout << mojKontener[i] << endl;
	}

	return 0;
}

Plik Makefile

Plik Makefile wygląda następująco:

CC = g++
CFLAGS =
LIBS =

OBJ =\
        main.o

all: main

clean:
        rm -f *.o test

.c.o:
        $(CC) -c $(INCLUDES) $(CFLAGS) $<

main: $(OBJ)
        $(CC) $(OBJ) $(LIBS) -o test

Testy

Gdy już mamy wszystko przygotowane wówczas w konsoli wpisujemy polecenie:

$ make

Następnie uruchamiamy nasz program poleceniem:

$ ./test

Wynik jaki otrzymamy powinien wyglądać następująco:

5
6
7
8
9
10
11
12
13
14

Autor artykułu
Dominik Bednarski

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.