array data structure (tsz. array data structures)
A tömb (array) egy azonos típusú elemekből álló adatszerkezet, amely lehetővé teszi az elemek index alapján történő elérését. A C++ nyelvben a tömbök nagyon hasznosak az adatok tárolására és feldolgozására.
A tömb olyan folytonos memóriaterületen tárolt adatok halmaza, amelyben az elemek ugyanolyan típusúak és index alapján érhetők el.
std::array
, std::vector
) – modern alternatívák
A statikus tömb mérete deklaráláskor rögzített, és nem változtatható futásidőben.
adatTípus tömbNév;
#include <iostream>
int main() {
int szamok = {10, 20, 30, 40, 50};
std::cout << "A tömb első eleme: " << szamok << std::endl;
std::cout << "A tömb második eleme: " << szamok << std::endl;
return 0;
}
Kimenet:
A tömb első eleme: 10 A tömb második eleme: 20
szamok
, a második szamok
, stb.{}
használhatók az inicializáláshoz.5
elem).
int szamok = {1, 2}; // A maradék elemek 0 lesznek
A tömb elemeinek feldolgozására a for ciklus a leggyakoribb eszköz.
#include <iostream>
int main() {
int szamok = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
std::cout << "szamok = " << szamok << std::endl;
}
return 0;
}
Kimenet:
szamok = 10 szamok = 20 szamok = 30 szamok = 40 szamok = 50
szamok
C++11-től kezdve egyszerűsített for
ciklust használhatunk a tömbök bejárására.
for
ciklus#include <iostream>
int main() {
int szamok = {10, 20, 30, 40, 50};
for (int szam : szamok) {
std::cout << szam << " ";
}
return 0;
}
Kimenet:
10 20 30 40 50
A többdimenziós tömbök olyan tömbök, amelyek más tömböket tartalmaznak.
#include <iostream>
int main() {
int matrix = {
{1, 2, 3},
{4, 5, 6}
};
std::cout << "matrix = " << matrix << std::endl; // 6
return 0;
}
Kimenet:
matrix = 6
matrix
a második sor harmadik eleme (6
).
for
ciklussal#include <iostream>
int main() {
int matrix = { {1, 2, 3}, {4, 5, 6} };
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
std::cout << matrix << " ";
}
std::cout << std::endl;
}
return 0;
}
Kimenet:
1 2 3 4 5 6
for
ciklus kell a sorok és oszlopok végigjárásához.
A statikus tömbök mérete fix, de dinamikus tömbök esetén a méret futásidőben változtatható.
new
kulcsszóval#include <iostream>
int main() {
int meret;
std::cout << "Add meg a tömb méretét: ";
std::cin >> meret;
int* tomb = new int; // Dinamikus tömb létrehozása
for (int i = 0; i < meret; i++) {
tomb = i * 2;
std::cout << tomb << " ";
}
delete tomb; // Felszabadítás
return 0;
}
Fontos tudni: ✅ Heap memóriát használ
✅ A delete
szükséges a memória felszabadítására
std::array
és std::vector
A hagyományos C++ tömbök helyett az STL konténerek ajánlottak.
std::array
(fix méret)#include <iostream>
#include <array>
int main() {
std::array<int, 5> szamok = {1, 2, 3, 4, 5};
for (int szam : szamok) {
std::cout << szam << " ";
}
return 0;
}
std::vector
(dinamikus méret)#include <iostream>
#include <vector>
int main() {
std::vector<int> szamok = {1, 2, 3, 4, 5};
szamok.push_back(6); // Új elem hozzáadása
for (int szam : szamok) {
std::cout << szam << " ";
}
return 0;
}
A std::vector
dinamikusan növekszik, és biztonságosabb! 🚀
✅ A tömb egy alapvető adatszerkezet C++-ban
✅ Használjuk az std::array
-t vagy std::vector
-t a modern kódokban
✅ A dinamikus tömbök rugalmasabbak, de delete
szükséges!
✅ Tartomány alapú for
egyszerűbbé teszi a bejárást