Trong lập trình, mảng là một cấu trúc dữ liệu dùng để lưu trữ một tập hợp các phần tử có cùng kiểu dữ liệu. Mảng có thể được khai báo tĩnh hoặc động, và thường được sử dụng để tổ chức dữ liệu theo thứ tự.
Khai báo một mảng
value_type Array_name[size] = {value_1, value_2, value_3};
value type: Kiểu dữ liệu của các phần tử trong mảng.
Array name: Tên của mảng.
Size: Kích thước của mảng.
value: Dữ liệu trong mảng.
Mảng có thể được khai báo với một kích thước cố định:
int number[5] = {1, 2, 3, 4, 5};
Hoặc cũng có thể khai báo mà không cần khởi tạo giá trị:
double values[10]; // Mảng lưu 10 giá trị kiểu double
truy cập phần tử trong mảng
Các phần tử trong mảng được truy cập thông qua chỉ số (index), hay còn gọi là vị trí của phần tử trong mảng, vị trí mảng bắt đầu từ 0.
Qua đó ta có thể duyệt mảng, hay liệt kê từng phần tử của mảng thông qua vòng lặp for.
// Duyệt mảng bằng vòng lặp for for (int i = 0; i < 5; i++) { std::cout << number[i] << " "; } // Output: // 1 2 3 4 5
Mảng tĩnh (Static Array)
Kích thươc được xác định trước khi chương trình chạy.
Không thể thay đổi số lượng phần tử sau khi khai báo.
Được lưu trữ stack, hiệu suất cao nhưng kém linh hoạt.
int staticArray[5] = {1, 2, 3, 4, 5};
Mảng động (Dynamic Array)
Kích thước được cấp phát trong khi chương trình đang chạy.
Cho phép thay đổi số lượng phần tử linh hoạt.
Được lưu trữ trên heap, cần giải phóng bộ nhớ sau khi sử dụng.
int* dynamicArray = new int[5]; // Sau khi sử dụng mảng cần giải phóng bộ nhớ delete[] dynamicArray;
Mảng một chiều (1D Array)
Là dạng đơn giản nhất, mỗi phần tử được lưu trữ theo thứ tự tuyến tính.
int arr[] = {10, 30, 50, 70};
Mảng hai chiều (2D Array)
Được tổ chức theo dạng ma trận, có thể xem như bảng có hàng (row) và cột (column).
int matrix[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; std::cout << matrix[1][2] << std::endl; // Output: // 6
Mảng đa chiều (Multidimensional Array)
Mảng có nhiều hơn hai chiều, thường được dùng trong đồ họa, khoa học dữ liệu.
int arr3D[2][2][2] = { {{1, 2}, {3, 4}}, {{5, 6}, {7, 8}} }; sdt::cout << arr3D[1][0][1]; // Output: // 6
Kết luận
Ngoài những mảng kể trên thì còn có mảng vector và mảng con trỏ. Mảng là một cấu trúc dữ liệu quan trọng trong C++, giúp lưu trữ, tập hợp các phần tử có cùng kiểu dữu liệu. Nó có thể được khai thác phù hợp theo nhu cầu sử dụng, giúp tốc độ cao và đơn giản hoặc linh hoạt hơn.

Nhận xét
Đăng nhận xét