Bài 2: Các hàm thường dùng trong Vector - Sử dụng thư viện chuẩn STL cho C/C++

Đăng bởi: Admin | Lượt xem: 4988 | Chuyên mục: C/C++


Để sử dụng Vector ta cần phải khai báo thư viện std: 
#include <iostream>
#include <vector>
using namespace std;
Sau đó ta sẽ khai báo một vector :
vector<int> list ;
Câu lệnh trên có nghĩa là ta đã khai báo một vector kiểu int, bạn có thể thay đổi sang kiểu string, bool, float,... 
Bây giờ chúng ta sẽ tìm hiểu một số hàm cơ bản của vector nhé :
- Thêm một phần tử vào sau của vector :
list.push_pack(value);
- Bỏ đi phần tử cuối cùng 
list.pop_back();
- Bỏ đi tất cả các phần tử của vector
list.clear();
- Lấy ra phần tử đầu tiên của vector
list.front();
- Lấy ra phần tử cuối cùng của vector
list.back();
- Lấy ra phần tử thứ n của vector( đếm từ vị trí 0)
list.at(n);
- Lấy độ dài của vector
list.size();
- Xem phần tử có trống hay không 
list.empty();
- Chỉnh sửa lại độ dài của vector gồm n phần tử
list.resize(n);

Bài tập :

1. Cho trước một vector v, hãy xóa phần tử ở vị trí cuối cùng trong vector v.
Ví dụ:
  • Với v = [1, 2 ,3, 4], thì vectorPop(v) = [1, 2, 3].
  • Với v = [1, 2, 3], thì vectorPop(v) = [1, 2].
std::vector<int> vectorPop(std::vector<int> v)
{
    v.pop_back();
    return v;
}
2. Cho vector v gồm các số nguyên.
Hãy tính tổng của phần tử đầu tiên và cuối cùng trong vector đó.
Ví dụ:
  • Với v = [1, 2, 4, 9] thì VectorFrontBack(v) = 10.
    Giải thích: 1 + 9 = 10.
  • Với v = [1, 3, 4] thì VectorFrontBack(v) = 5.
int vectorFrontBack(std::vector<int> v)
{
    return v.front() + v.back();
}
3. Cho trước một vector v, và số nguyên dương k (k ≤ v.size())
Hãy xóa k phần tử cuối cùng của vector v. 
Ví dụ:
  • Với v = [1, 2, 3, 4, 5, 6, 7] và k = 3 thì 
    vectorErase(v) = [1, 2, 3, 4].
  • Với v = [1, 2, 3, 4] và k = 2 thì vectorErase(v) = [1, 2].
std::vector<int> vectorErase(std::vector<int> v, int k)
{
    vector<int>:: iterator it = v.begin();
	advance(it,v.size()-k);
    v.erase(it,v.end());
    return v;
}
Bài tiếp theo: List - Khái niệm cơ bản >>
vncoder logo

Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!