Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ STL list::size() 함수 완벽 가이드: 사용법과 예제

이 글에서는 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을 반환하는 것을 확인할 수 있습니다.