Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ STL의 list pop_back() 함수

<시간/>

이 기사에서 우리는 C++에서 list::pop_back() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.

STL의 목록이란 무엇입니까?

목록은 순서의 어느 곳에서나 일정한 시간 삽입 및 삭제를 허용하는 데이터 구조입니다. 목록은 이중 연결 목록으로 구현됩니다. 목록은 비연속적인 메모리 할당을 허용합니다. 목록은 배열, 벡터 및 데크보다 컨테이너의 모든 위치에서 요소의 삽입 추출 및 이동을 더 잘 수행합니다. 목록에서 요소에 대한 직접 액세스는 느리고 목록은 forward_list와 비슷하지만 순방향 목록 개체는 단일 연결 목록이며 앞으로만 반복될 수 있습니다.

list::pop_back()이란 무엇입니까?

list::pop_back()은 헤더 파일에 선언된 C++ STL의 내장 함수입니다. pop_back()은 목록 컨테이너의 뒤 또는 마지막에서 요소를 제거/팝하는 데 사용됩니다. pop_back을 사용하면 마지막 요소를 제거/팝업하고 마지막 요소 이전의 요소는 마지막 요소가 되고 목록 컨테이너의 크기는 1만큼 줄어듭니다.

구문

list_container.pop_back();

이 함수는 매개변수를 허용하지 않습니다.

반환 값

이 함수는 아무 것도 반환하지 않습니다.

예시

아래 코드에서는 functionpop_back() 함수를 사용하여 목록 끝에서 요소를 삭제해야 합니다.

#include <bits/stdc++.h>
using namespace std;
int main(){
   //create a list
   list<int> myList;
   //inserting elements to a list
   myList.push_back(4);
   myList.push_back(9);
   myList.push_back(1);
   myList.push_back(3);
   //list before poping out the elements
   cout<<"list elements before deletion : ";
   for (auto i = myList.begin(); i != myList.end(); i++)
      cout << *i << " ";
   //removing elements from the end of a list using pop_back()
   myList.pop_back();
   // List after removing element from end
   cout << "\nList after deleting element from the end: ";
   for (auto i = myList.begin(); i != myList.end(); i++)
      cout << *i << " ";
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다.

list elements before deletion : 4 9 1 3
List after deleting element from the end: 4 9 1

예시

아래 코드에서 우리는 functionpop_back() 함수를 사용하여 목록의 끝에서 요소를 삭제해야 하며 삭제와 함께 목록에 있는 숫자의 곱을 수행합니다.

#include <bits/stdc++.h>
using namespace std;
int main(){
   list<int> myList;
   int product = 1;
   myList.push_back (40);
   myList.push_back (20);
   myList.push_back (30);
   while (!myList.empty()){
      product*=myList.back();
      myList.pop_back();
   }
   cout<<"The product of elements in my list : "<<product<< '\n';
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다.

The product of elements in my list : 24000