Cắt vector trong C++ (front, back) | Laptrinhcanban.com

HOME › >>

Cắt vector trong C++ (front, back)

Hướng dẫn cách cắt vector trong C++. Bạn sẽ học được cách sử dụng 2 hàm cơ bản là hàm front() và hàm back() để cắt vector trong C++ sau bài học này.

Chúng ta có 3 phương pháp cơ bản để cắt vector trong C++ như sau:

  • Hàm front(): Cắt phần tử đầu tiên từ vector
  • Hàm back(): Cắt phần tử cuối cùng từ vector
  • Cắt một phạm vi từ vector

Cắt phần tử đầu tiên từ vector trong C++ bằng hàm front

Hàm front là một hàm thành viên trong class std:vector, có tác dụng tham chiếu đến phần tử đầu tiên trong vector.

Bằng cách ứng dụng hàm front(), chúng ta không những có thể cắt ra giá trị của phần tử đầu tiên trong vector, mà còn có thể thay đổi giá trị của phần tử đầu tiên đó.

Chúng ta sử dụng hàm front trong C++ với cú pháp sau đây:

vt.front();

Trong đó vt là vector cần cắt ra phần tử ban đầu. Hàm front() sẽ trả về tham chiếu tới phần tử đầu tiên của vector, qua đó chúng ta có thể cắt lấy giá trị của phần tử đầu tiên này, hoặc là gán một phần tử khác để thay đổi nó.

Lưu ý chúng ta không dùng hàm front() cho vector trống nhé.

Ví dụ cụ thể:

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

//Tạo hàm xuất vector
void dump(vector<int>& vt)
{
for (auto x: vt) {
cout << " "<< x ;
}
cout << endl;
}

int main() {
vector<int> vt{3, 1, 4, 1, 5, 7, 9};
dump(vt);

//Tạo tham chiếu tới vị trí phần tử đầu tiên của vector
int front_element = vt.front();
cout << front_element << endl;

//Thay đổi phần tử đầu tiên
vt.front() = 2;
dump(vt);

return 0;
}

Kết quả:

3 1 4 1 5 7 9
3
2 1 4 1 5 7 9

Cắt phần tử cuối cùng từ vector trong C++ bằng hàm back

Hàm back là một hàm thành viên trong class std:vector, có tác dụng tham chiếu đến phần tử cuối cùng trong vector.

Bằng cách ứng dụng hàm back(), chúng ta không những có thể cắt ra giá trị của phần tử cuối cùng trong vector, mà còn có thể thay đổi giá trị của phần tử cuối cùng đó.

Chúng ta sử dụng hàm back trong C++ với cú pháp sau đây:

vt.back();

Trong đó vt là vector cần cắt ra phần tử ban đầu. Hàm back() sẽ trả về tham chiếu tới phần tử cuối cùng của vector, qua đó chúng ta có thể cắt lấy giá trị của phần tử cuối cùng này, hoặc là gán một phần tử khác để thay đổi nó.

Lưu ý chúng ta không dùng hàm back() cho vector trống nhé.

Ví dụ cụ thể:

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

//Tạo hàm xuất vector
void dump(vector<int>& vt)
{
for (auto x: vt) {
cout << " "<< x ;
}
cout << endl;
}

int main() {
vector<int> vt{3, 1, 4, 1, 5, 7, 9};
dump(vt);

//Tạo tham chiếu tới vị trí phần tử cuối cùng của vector
int back_element = vt.back();
cout << back_element << endl;

//Thay đổi phần tử cuối cùng
vt.back() = 2;
dump(vt);

return 0;
}

Kết quả:

3 1 4 1 5 7 9
3
2 1 4 1 5 7 9

Cắt một phạm vi từ vector

Để cắt một phạm vi từ vector ban đầu, chúng ta sử dụng vòng lặp hoặc trình lặp để truy cập tuần tự vào các phần tử trong vector để lấy các giá trị trong phạm vi cần cắt. Sau đó, chúng ta lưu các giá trị này vào vector kết quả là xong.

Và để thêm phần tử vào vector, chúng ta sẽ cần dùng đến hàm push_back() trong C++ mà Kiyoshi đã hướng dẫn trong bài .

Ví dụ cụ thể:

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

//Tạo hàm xuất vector
void dump(vector<int>& vt)
{
for (auto x: vt) {
cout << " "<< x ;
}
cout << endl;
}

int main() {
vector<int> vt{3, 1, 4, 1, 5, 7, 9};
dump(vt);

//Khai báo vector chứa kết quả
vector<int> vt2;

//Khai báo phạm vi cắt
int start = 2, end = 4;

//Truy cập vào phạm vi để lấy và lưu các phần tử vào vector kết quả
for (short i = start; i<= end;i++){
vt2.push_back(vt[i]);
}

dump(vt2);

return 0;
}

Kết quả:

3 1 4 1 5 7 9
4 1 5

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách cắt vector trong C++ rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo.

URL Link

https://laptrinhcanban.com/cpp/lap-trinh-cpp-co-ban/vector-trong-cpp/cat-vector-trong-cpp/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.