이 기사에서는 C++에서 list::empty() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.
STL의 목록이란 무엇입니까?
목록은 순서대로 어디에서나 일정한 시간 삽입 및 삭제를 허용하는 데이터 구조입니다. 목록은 이중 연결 목록으로 구현됩니다. 목록은 비연속적인 메모리 할당을 허용합니다. 목록은 배열, 벡터 및 데크보다 컨테이너의 모든 위치에서 요소의 삽입 추출 및 이동을 더 잘 수행합니다. 목록에서 요소에 대한 직접 액세스는 느리고 목록은 forward_list와 비슷하지만 순방향 목록 개체는 단일 연결 목록이며 앞으로만 반복될 수 있습니다.
list::empty()란 무엇입니까?
list::empty()는 헤더 파일에 선언된 C++ STL의 내장 함수입니다. list::empty()는 주어진 목록 컨테이너가 비어 있는지(크기가 0) 확인하고 목록이 비어 있으면 true 값을 반환하고 목록이 비어 있지 않으면 false를 반환합니다.
구문
bool list_name.empty();
이 함수는 값을 허용하지 않습니다.
반환 값
이 함수는 컨테이너 크기가 0이면 true를 반환하고 컨테이너 크기가 0이 아니면 false를 반환합니다.
예
아래 코드에서는 목록이 비어 있는지 여부를 확인하기 위해 empty() 함수를 호출하고 목록이 비어 있으면 결과를 확인하기 위해 push_back() 함수를 사용하여 목록에 요소를 삽입합니다.
#include <bits/stdc++.h> using namespace std; int main() { list<int> myList; //to create a list //call empty() function to check if list is empty or not if (myList.empty()) cout << "my list is empty\n"; else cout << "my list isn’t empty\n"; //push_back() is used to insert element in a list myList.push_back(1); myList.push_back(2); myList.push_back(3); myList.push_back(4); if (myList.empty()) cout << "my list is empty\n"; else cout << "my list is not empty\n"; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다.
my list is empty my list is not empty
아래 코드에서 우리는 1-10의 숫자를 곱하려고 합니다.
-
먼저 push_back() 함수를 사용하여 목록에 요소를 삽입합니다.
-
empty() 함수를 사용하여 비어 있지 않을 때까지 목록을 탐색합니다.
-
결과 인쇄
예
#include <bits/stdc++.h> using namespace std; int main (){ list<int> myList; int product = 0; for (int i=1;i<=10;++i) mylist.push_back(i); while (!mylist.empty()){ product *= myList.front(); myList.pop_front(); } cout << "product of numbers from 1-10 is: " <<product << '\n'; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다.
product of numbers from 1-10 is: 3628800