Rate this post

Trong C++, vector là một kiểu dữ liệu tập hợp (container) cung cấp cho người dùng một cách để lưu trữ và truy xuất một danh sách các phần tử. Nó được cung cấp bởi thư viện STL (Standard Template Library) và có thể lưu trữ bất kỳ kiểu dữ liệu nào.

Vectors là tập hợp đa chiều, nó có thể mở rộng và thu gọn kích thước tự động. Nó cũng cung cấp các hàm tiện ích để thao tác với các phần tử trong vector, chẳng hạn như thêm, xóa, truy xuất và sắp xếp các phần tử.

#include <iostream>
#include <vector>

int main() {
    // tạo một vector chứa các số nguyên
    std::vector<int> numbers;

    // thêm các phần tử vào vector
    numbers.push_back(1);
    numbers.push_back(2);
    numbers.push_back(3);

    // in ra các phần tử của vector
    for (int i = 0; i < numbers.size(); i++) {
		std::cout << numbers[i] << " ";
	}
	std::cout << std::endl;
  	// thêm một phần tử vào đầu vector
    numbers.insert(numbers.begin(), 0);

    // xóa phần tử cuối cùng của vector
    numbers.pop_back();

    // sắp xếp các phần tử trong vector
    std::sort(numbers.begin(), numbers.end());

    // tìm kiếm một phần tử trong vector
    int search_value = 2;
    std::vector<int>::iterator it = std::find(numbers.begin(), numbers.end(), search_value);
    if (it != numbers.end()) {
        std::cout << "Found value: " << *it << std::endl;
    } else {
        std::cout << "Value not found" << std::endl;
    }

    return 0;
}

Trong ví dụ trên, chúng ta tạo một vector chứa các số nguyên, thêm, xóa, truy xuất và sắp xếp các phần tử trong vector. Vectors là một công cụ rất hữu ích trong C++, đặc biệt là khi bạn cần lưu trữ và quản lý một danh sách các phần tử, nó cung cấp các hàm tiện ích để thao tác với các phần tử trong vector và tự động mở rộng và thu gọn kích thước.

Ưu điểm của vector trong c++

Có nhiều ưu điểm khi sử dụng vector trong C++:

  1. Tự động quản lý kích thước: Vector tự động mở rộng kích thước khi cần thêm phần tử mới và thu gọn kích thước khi xóa phần tử. Điều này giúp cho việc quản lý bộ nhớ trở nên dễ dàng hơn.
  2. Truy xuất phần tử nhanh chóng: Vector cung cấp các hàm truy xuất phần tử như operator[], at()front()/back(), cho phép truy xuất đến các phần tử trong vector nhanh chóng và dễ dàng.
  3. Cung cấp các hàm tiện ích: Vector cung cấp nhiều hàm tiện ích như thêm, xóa, sắp xếp và tìm kiếm phần tử, giúp cho việc quản lý danh sách phần tử trở nên dễ dàng hơn.
  4. Dễ dàng mở rộng: Vector có thể chứa bất kỳ kiểu dữ liệu nào và có thể mở rộng để chứa các kiểu dữ liệu khác.
  5. Đa chiều: Vector là tập hợp đa chiều, nó có thể chứa các vector khác, giúp cho việc quản lý dữ liệu phức tạp hơn.
  6. Hiệu suất

Một vài ví dụ về vector trong c++

Ví dụ 1: Tạo một vector chứa các số nguyên và in ra tất cả các phần tử trong vector

#include <iostream>
#include <vector>

int main() {
    // tạo một vector chứa các số nguyên
    std::vector<int> numbers;

    // thêm các phần tử vào vector
    numbers.push_back(1);
    numbers.push_back(2);
    numbers.push_back(3);

    // in ra các phần tử của vector
    for (int i = 0; i < numbers.size(); i++) {
        std::cout << numbers[i] << " ";
    }

    return 0;
}

Ví dụ 2: Tạo một vector chứa các chuỗi và in ra tất cả các phần tử trong vector

#include <iostream>
#include <vector>

int main() {
    // tạo một vector chứa các chuỗi
    std::vector<std::string> words;

    // thêm các phần tử vào vector
    words.push_back("hello");
    words.push_back("world");
    words.push_back("!");

    // in ra các phần tử của vector
    for (int i = 0; i < words.size(); i++) {
        std::cout << words[i] << " ";
    }

    return 0;
}

Ví dụ 3: Tạo một vector chứa các đối tượng và sử dụng các hàm tiện ích của vector để thao tác với các phần tử trong vector

#include <iostream>
#include <vector>

class MyObject {
public:
    MyObject(int value) : m_value(value) {}
    int getValue() const { return m_value; }

private:
    int m_value;
};

int main() {
    // tạo một vector chứa các đối tượng MyObject
    std::vector<MyObject> objects;

    // thêm các phần tử vào vector
    objects.push_back(MyObject(1));
    objects.push_back(MyObject(2));
    objects.push_back(MyObject(3));

    // in ra các giá trị của các phần tử trong vector
    for (int i = 0; i < objects.size(); i++) {
        std::cout << objects[i].getValue() << " ";
    }
    std::cout << std::endl;

    // thêm một phần tử vào đầu vector
    objects.insert(objects.begin(), MyObject(0));

    // xóa phần tử cuối cùng của vector
    objects.pop_back();

    // tìm kiếm một phần tử trong vector
    int search_value = 2;
    std::vector<MyObject>::iterator it = std::find_if(objects.begin(), objects.end(),
        [&search_value](const MyObject& obj) { return obj.getValue() == search_value; });
    if (it != objects.end()) {
        std::cout << "Found value: " << it->getValue() << std::endl;
    } else {
      std::cout << "Value not found" << std::endl; 
    }

return 0;

}

Trong ví dụ trên, chúng ta tạo một vector chứa các đối tượng MyObject, thêm, xóa, tìm kiếm và sử dụng các hàm tiện ích của vector để thao tác với các phần tử trong vector. Như bạn thấy, vector là một công cụ rất hữu ích và tiện lợi trong C++, nó cung cấp các hàm tiện ích để quản lý và thao tác với các phần tử trong vector, giúp cho việc lập trình trở nên dễ dàng hơn.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now