이 글에서는 C++의 list::size() 함수에 대해 자세히 알아보겠습니다. 함수의 동작 원리, 문법, 그리고 실제 예제를 통해 어떻게 활용되는지 살펴봅니다.
STL에서 리스트(List)란 무엇인가?
리스트는 시퀀스 내 어느 위치에서든 상수 시간(O(1))에 삽입과 삭제를 수행할 수 있는 자료구조입니다. 리스트는 이중 연결 리스트(doubly linked list)로 구현되어 있으며, 비연속적인 메모리 할당을 허용합니다.
배열(array), 벡터(vector), 덱(deque)과 비교했을 때, 리스트는 컨테이너 내 임의의 위치에서 요소를 삽입하거나 추출하고 이동하는 작업에서 더 뛰어난 성능을 보여줍니다. 다만 리스트는 특정 요소에 직접 접근하는 속도가 느린 편입니다.
리스트는 forward_list와 유사하지만, forward_list는 단일 연결 리스트(singly linked list)로 구현되어 있어 앞쪽 방향으로만 순회할 수 있다는 차이점이 있습니다.
list::size()란 무엇인가?
list::size()는 C++ STL에 내장된 함수로, <list> 헤더 파일에 선언되어 있습니다. 이 함수는 특정 리스트 컨테이너의 크기를 반환합니다. 즉, 리스트 컨테이너에 현재 저장되어 있는 요소의 개수를 알려줍니다.
문법
list_container.size()
이 함수는 매개변수를 받지 않습니다.
반환 값
이 함수는 size_type 타입의 값을 반환하며, 이는 리스트 컨테이너에 포함된 요소의 개수를 의미합니다.
예제
아래 코드에서는 size() 함수를 사용하여 정수형 리스트에 포함된 요소의 개수, 즉 리스트의 크기를 계산합니다.
#include <bits/stdc++.h>
using namespace std;
int main(){
// 리스트 생성
list<int> myList;
// 리스트에 요소 삽입
myList.push_back(23);
myList.push_back(12);
myList.push_back(21);
int size = myList.size();
cout << "size of the list is : "<<size;
return 0;
}실행 결과
위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.
size of the list is : 3
위 예제에서 세 개의 정수(23, 12, 21)를 리스트에 추가했기 때문에 size() 함수는 3을 반환하는 것을 확인할 수 있습니다.