Chuyển đến nội dung chính

Mảng Trong C++

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};
Stack, hay còn gọi là cấu trúc dữ liệu ngăn xếp, có tốc độ nhanh vì dùng cấu trúc LIFO (Last In, Fist Out), là một danh sách mà khi chèn và xóa phần tử trong đó, chỉ có thể được thực hiện tại vị trị đầu của danh sách, vị trí này được gọi top của stack, có thể hiểu đơn giản là phần tử được được đưa vào cuối cùng, khi cần dùng đến sẽ được lấy ra đầu tiên.

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;
Heap, Vùng nhớ động hay còn gọi là cấu trúc dữ liệu dạng cây nhị phân, thường được sử dụng trong các thuật toán tìm kiếm, sắp xếp và quản lý bộ nhớ. Nếu so sánh với stack thì nó có kích thước lớn hơn nhưng tốc độ chậm hơn stack.

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)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 vectormả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

Bài đăng phổ biến từ blog này

Biến Trong Lập Trình C++

Trong lập trình, biến (variable) có thể hiểu là một công cụ dùng để chứa dữ liệu, khi ta đặt một biến thì một vùng nhớ trên RAM sẽ được cấp cho biến đó, chương trình có thể sử dụng, thay đổi hoặc lưu dữ liệu trên vùng nhớ này, cho nên giá trị của biển có thể được thay đổi trong suốt quá trình thực thi chương trình. Mỗi biến sẽ được gán một tên (identifier) để coder có thể sử dụng và thao tác với dữ liệu trong đó.

Toán Tử Trong C++

Trong C++, toán tử là các ký hiệu dùng để thực hiện các phép toán với biến.

Tạo Usb Boot Cài Đặt Windows 11 Bằng Windows Media Creation Tool

USB boot Windows là một thiết bị lưu trữ USB được tạo để chứa hệ điều hành Windows, cho phép bạn khởi động và cài đặt Windows trên máy tính.