이 기사에서는 C++에서 list::resize() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.
STL의 목록이란 무엇입니까
목록은 순서대로 어디에서나 일정한 시간 삽입 및 삭제를 허용하는 데이터 구조입니다. 목록은 이중 연결 목록으로 구현됩니다. 목록은 비연속적인 메모리 할당을 허용합니다. 목록은 배열, 벡터 및 데크보다 컨테이너의 모든 위치에서 요소의 삽입 추출 및 이동을 더 잘 수행합니다. 목록에서 요소에 대한 직접 액세스는 느리고 목록은 forward_list와 비슷하지만 순방향 목록 개체는 단일 연결 목록이며 앞으로만 반복될 수 있습니다.
list::resize()란 무엇입니까?
list::resize()는 헤더 파일에 선언된 C++ STL의 내장 함수입니다. resize()는 목록 컨테이너의 크기를 조정하는 데 사용됩니다. 함수의 인수에 제공한 요소 수를 포함하도록 컨테이너의 크기를 조정합니다.
구문
list_name.resize(int n);
또는
list_name.resize(int n, const value_type &val);
이 함수는 내에서 하나 또는 두 개의 매개변수를 받아들일 수 있습니다.
매개변수
-
n - 새로운 컨테이너 크기(요소 수)를 정의하는 정수형입니다.
-
val - 컨테이너의 모든 공간에 내용을 복사할 개체입니다.
반환 값
이 함수는 아무 것도 반환하지 않습니다. 컨테이너의 크기만 조정합니다.
예시
#include <bits/stdc++.h> using namespace std; int main(){ //create a list list<int> myList; //insert elements to the list myList.push_back(1); myList.push_back(2); myList.push_back(3); myList.push_back(4); //elemets in th list before Resize cout << "List elements are : "; for (auto i = myList.begin(); i!= myList.end(); i++) cout << *i << " "; //Resizing list myList.resize(5); cout<<"\nList after resize: "; for (auto i = myList.begin(); i!= myList.end(); i++) cout << *i << " "; //Resizing list again myList.resize(6); cout<<"\nList after resizing it again : "; for (auto i = myList.begin(); i != myList.end(); i++) cout << *i << " "; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다.
List elements are : 1 2 3 4 List after resize : 1 2 3 4 0 List after resizing it again : 1 2 3 4 0 0