Toán tin vuotlen.com

Mảng (Array) trong C++

Array trong C++ là một cấu trúc dữ liệu cơ bản, lưu trữ một tập hợp các phần tử có cùng kiểu dữ liệu. Dưới đây là tổng quan về các thao tác cơ bản và nâng cao với array trong C++ cùng với các ví dụ minh họa.

Khai báo và khởi tạo array:

#include <iostream>
using namespace std;

int main() {
    // Khai báo array với kích thước 5
    int arr[5];

    // Khởi tạo array với giá trị cụ thể
    int arr2[5] = {1, 2, 3, 4, 5};

    // Khởi tạo một phần, phần còn lại sẽ là 0
    int arr3[5] = {1, 2};

    // Khởi tạo tất cả phần tử là 0
    int arr4[5] = {0};

    // Truy cập phần tử
    cout << "Phần tử đầu tiên của arr2: " << arr2[0] << endl;

    return 0;
}
Nhập và xuất phần tử của array:

#include <iostream>
using namespace std;

int main() {
    int arr[5];

    // Nhập phần tử cho array
    for(int i = 0; i < 5; i++) {
        cout << "Nhập phần tử thứ " << i+1 << ": ";
        cin >> arr[i];
    }

    // Xuất phần tử của array
    for(int i = 0; i < 5; i++) {
        cout << "Phần tử thứ " << i+1 << ": " << arr[i] << endl;
    }

    return 0;
}
Sử dụng thư viện algorithm:

Sắp xếp array:

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int arr[5] = {5, 2, 9, 1, 5};

    sort(arr, arr + 5);

    cout << "Array sau khi sắp xếp: ";
    for(int i = 0; i < 5; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;

    return 0;
}
Đảo ngược array:

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int arr[5] = {1, 2, 3, 4, 5};

    reverse(arr, arr + 5);

    cout << "Array sau khi đảo ngược: ";
    for(int i = 0; i < 5; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;

    return 0;
}

Sử dụng con trỏ và cấp phát động:

#include <iostream>
using namespace std;

int main() {
    // Khai báo con trỏ
    int* arr;
    int n;

    // Nhập kích thước mảng từ người dùng
    cout << "Nhập kích thước mảng: ";
    cin >> n;

    // Cấp phát bộ nhớ động cho mảng
    arr = new int[n];

    // Nhập giá trị cho mảng
    for(int i = 0; i < n; i++) {
        cout << "Nhập phần tử thứ " << i + 1 << ": ";
        cin >> arr[i];
    }

    // Xuất giá trị của mảng
    cout << "Các phần tử của mảng: ";
    for(int i = 0; i < n; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;

    // Giải phóng bộ nhớ
    delete[] arr;

    return 0;
}