В этой статье мы рассмотрим эквивалент структуры данных ArrayList в C++. ArrayList — это реализация динамических массивов, встречающаяся в таких языках, как Java, которая предоставляет массивы изменяемого размера с различными методами для эффективного манипулирования элементами. Мы обсудим несколько методов и приведем примеры кода, демонстрирующие их использование в C++. Давайте погрузимся!
- Объявление и инициализация:
- Создание объекта ArrayList в C++
- Инициализация ArrayList с начальной емкостью
#include <iostream>
#include <vector>
int main() {
std::vector<int> arrayList; // Declaration
std::vector<int> arrayListWithCapacity(10); // Initialization with initial capacity
return 0;
}
- Добавление элементов:
- Добавление элементов в конец ArrayList
- Вставка элементов по определенному индексу в ArrayList
#include <iostream>
#include <vector>
int main() {
std::vector<int> arrayList;
// Appending elements
arrayList.push_back(5);
arrayList.push_back(10);
// Inserting elements
arrayList.insert(arrayList.begin() + 1, 7); // Inserting 7 at index 1
return 0;
}
- Доступ к элементам:
- Доступ к элементам по индексу
- Изменение элементов по определенному индексу
#include <iostream>
#include <vector>
int main() {
std::vector<int> arrayList = {5, 7, 10};
// Accessing elements
int elementAtIndex0 = arrayList[0]; // Accessing element at index 0
int elementAtIndex2 = arrayList.at(2); // Accessing element at index 2
// Modifying elements
arrayList[1] = 8; // Modifying element at index 1
return 0;
}
- Удаление элементов:
- Удаление элементов по индексу
- Удаление элементов по значению
#include <iostream>
#include <vector>
int main() {
std::vector<int> arrayList = {5, 7, 8};
// Removing elements
arrayList.erase(arrayList.begin() + 1); // Removing element at index 1
// Removing elements by value
arrayList.erase(std::remove(arrayList.begin(), arrayList.end(), 7), arrayList.end()); // Removing all occurrences of 7
return 0;
}
- Размер и емкость:
- Получение размера ArrayList
- Получение текущей емкости ArrayList
#include <iostream>
#include <vector>
int main() {
std::vector<int> arrayList = {5, 7, 8};
// Size of the ArrayList
int size = arrayList.size();
// Capacity of the ArrayList
int capacity = arrayList.capacity();
return 0;
}
В этой статье мы рассмотрели эквивалент структуры данных ArrayList в C++. Мы обсудили различные методы, включая объявление, инициализацию, добавление элементов, доступ к элементам, удаление элементов и получение размера и емкости. Используя контейнер std::vector в C++, мы можем добиться функциональности, аналогичной ArrayList в Java. Понимание этих методов позволит вам эффективно работать с динамическими массивами в C++. Приятного кодирования!