Computer >> Máy Tính >  >> Lập trình >> C ++

list ::pop_front () và list ::pop_back () trong C ++ STL

Trong bài viết này, chúng ta sẽ thảo luận về cách làm việc, cú pháp và ví dụ của các hàm list ::pop_front () và list ::pop_back () trong C ++ STL.

Danh sách trong STL là gì?

Danh sách là một cấu trúc dữ liệu cho phép chèn và xóa theo thời gian liên tục ở bất kỳ đâu theo trình tự. Danh sách được triển khai dưới dạng danh sách được liên kết kép. Danh sách cho phép phân bổ bộ nhớ không liền kề. Danh sách thực hiện trích xuất chèn và di chuyển phần tử ở bất kỳ vị trí nào trong vùng chứa tốt hơn so với mảng, vectơ và deque. Trong Danh sách, truy cập trực tiếp vào phần tử chậm và danh sách tương tự như forward_list, nhưng các đối tượng danh sách chuyển tiếp là danh sách được liên kết đơn và chúng chỉ có thể được lặp lại về phía trước.

forward_list ::pop_front () là gì?

list ::pop_front () là một hàm có sẵn trong C ++ STL được khai báo trong tiêu đề f ile. pop_front () được sử dụng để bật / xóa phần tử nằm ở đầu danh sách. Khi chúng ta sử dụng hàm này, phần tử đầu tiên đã có trong vùng chứa sẽ bị xóa và phần tử tiếp theo của phần tử đầu tiên trở thành phần tử đầu tiên của vùng chứa danh sách và kích thước của vùng chứa giảm đi 1.

Cú pháp

list_container1.pop_front ();

Tham số

Hàm này không chấp nhận tham số.

Giá trị trả lại

Hàm này không trả về gì.

Ví dụ

Input: list<int> List_container= {10, 11, 13, 15};
      List_container.pop_front();
Output:
      List = 11 13 15

Ví dụ

#include <iostream>
#include <list>
using namespace std;
int main(){
   list<int> myList_1 = {}, myList_2 = {};
   myList_1.push_front(10);
   myList_1.push_front(20);
   myList_1.push_front(30);
   myList_1.push_front(40);
   myList_1.push_front(50);
   while (!myList_1.empty()){
      myList_2.push_front(myList_1.front());
      myList_1.pop_front();
   }
   cout<<"Elements in the list are : ";
   for (auto i = myList_2.begin(); i!= myList_2.end(); ++i)
      cout << ' ' << *i;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Elements in the list are : 10 20 30 40 50

list ::pop_back () là gì?

list ::pop_back () là một hàm có sẵn trong C ++ STL được khai báo trong tệp tiêu đề. pop_back () được sử dụng để xóa / bật phần tử từ phía sau hoặc phần cuối cùng của vùng chứa danh sách. Khi chúng ta sử dụng pop_back thì nó sẽ xóa / bật phần tử cuối cùng và phần tử trước khi phần tử cuối cùng trở thành phần tử cuối cùng và kích thước của vùng chứa danh sách giảm đi 1.

Cú pháp

list_container.pop_back();

Tham số

Hàm này không chấp nhận tham số.

Giá trị trả lại

Hàm này không trả về gì.

Ví dụ

Input: list<int> List_container= {10, 11, 13, 15};
      List_container.pop_back();
Output:
      List = 10 11 13

Ví dụ

#include <iostream>
#include <list>
using namespace std;
int main(){
   list<int> myList_1 = {}, myList_2 = {};
   myList_1.push_front(10);
   myList_1.push_front(20);
   myList_1.push_front(30);
   myList_1.push_front(40);
   myList_1.push_front(50);
   while (!myList_1.empty()){
      myList_2.push_front(myList_1.back());
      myList_1.pop_back();
   }
   cout<<"Elements in the list are : ";
   for (auto i = myList_2.begin(); i!= myList_2.end(); ++i)
      cout << ' ' << *i;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Elements in the list are : 50 40 30 20 10