Đây là chương trình C++ để lấy vector con từ một vector.
Thuật toán
Bắt đầu
Khai báo s là vector s(vector const &v, int m, int n) để khởi tạo vị trí bắt đầu và kết thúc của vector cho constructor.
auto first = v.begin() + m.
auto last = v.begin() + n + 1.
Khai báo biến vector kiểu vector.
Truyền giá trị vị trí first và last của vector.
Trả về vector.
Khai báo template T.
Khai báo hàm show().
Truyền constructor của vector v làm tham số.
for (auto i: v)
In giá trị của biến i.
Khai báo vector v.
Khởi tạo giá trị cho vector v.
Khởi tạo hai biến a = 3, b = 6.
In "Vector con là:".
Khai báo vector con sub_vector.
vector sub_vector = s(v, a, b) để khởi tạo giá trị cho vector con bằng cách chỉ định vị trí bắt đầu và kết thúc của vector v.
Gọi hàm show() để hiển thị giá trị của sub_vector.
Kết thúc.
Mã ví dụ
#include <iostream>
#include <vector>
using namespace std;
template<typename T>
vector<T> s(vector<T> const &v, int m, int n) {
auto first = v.begin() + m;
auto last = v.begin() + n + 1;
vector<T> vector(first, last);
return vector;
}
template<typename T>
void show(vector<T> const &v) {
for (auto i: v) {
cout << i << ' ';
}
cout << '\n';
}
int main() {
vector<int> v = {7, 6, 2, 4, 1, 9, 10, 15, 17};
int a = 3, b = 6;
cout << "Vector con là:" << endl;
vector<int> sub_vector = s(v, a, b);
show(sub_vector);
return 0;
}
Kết quả
Vector con là: 4 1 9 10