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

C++ STL 생성자로 리스트(List) 만드는 방법 완벽 가이드

이 튜토리얼에서는 C++ STL(표준 템플릿 라이브러리)에서 생성자(Constructor)를 활용해 리스트(list) 컨테이너를 생성하는 방법을 자세히 알아봅니다.

리스트(List)는 메모리상에 요소들을 연속적이지 않은(non-contiguous) 방식으로 저장하는 자료구조입니다. 각 노드가 포인터로 연결되는 이중 연결 리스트(doubly linked list) 형태로 구현되어 있기 때문에, 벡터(vector)와 비교했을 때 임의 위치에서의 삽입과 삭제가 훨씬 빠르다는 장점이 있습니다.

C++ 코드 예제

아래 예제에서는 생성자에 초기화 값(요소 개수와 초기값)을 전달하여 리스트를 생성하고, 이를 출력하는 방법을 보여줍니다.

#include <iostream>
#include <list>
using namespace std;

// 리스트 출력 함수
void print_list(list<int> mylist) {
    list<int>::iterator it;
    // 모든 요소를 순회하며 출력
    for (it = mylist.begin(); it != mylist.end(); ++it)
        cout << ' ' << *it;
    cout << '\n';
}

int main() {
    // 생성자를 이용해 리스트 생성: 10개의 요소를 값 100으로 초기화
    list<int> myList(10, 100);
    print_list(myList);
    return 0;
}

실행 결과

100 100 100 100 100 100 100 100 100 100

코드 설명

list<int> myList(10, 100); 구문이 핵심입니다. 첫 번째 인자 10은 생성할 요소의 개수를, 두 번째 인자 100은 각 요소를 초기화할 값을 의미합니다. 따라서 값 100을 가진 정수 요소 10개가 담긴 리스트가 한 번에 생성됩니다.

생성자를 활용하면 반복문으로 요소를 하나씩 추가하는 번거로움 없이, 원하는 크기와 초기값을 가진 리스트를 간결하고 효율적으로 만들 수 있습니다. 특히 동일한 값으로 여러 요소를 초기화해야 하는 상황에서 매우 유용합니다.