벡터 입력 C++ 예제가 포함된 표준 템플릿 라이브러리(STL)
⚡ 스마트 요약
벡터 입력 C++ `Dynamic`은 표준 템플릿 라이브러리(STL)에서 제공하는 동적 배열로, 요소가 추가되거나 제거될 때 자동으로 크기가 조정되며, 프로그래머가 반복자를 사용하여 요소에 접근하고 순회할 수 있도록 연속적인 메모리 공간에 항목을 저장합니다.

무엇이 C++ 벡터?
A C++ 벡터는 자동으로 크기를 조정할 수 있는 동적 배열입니다. 크기 조정은 벡터에서 요소가 추가되거나 삭제된 후에 발생합니다. 저장은 컨테이너에서 자동으로 처리합니다. 벡터의 요소는 연속된 저장소에 저장됩니다. 이를 통해 C++ 프로그래머는 반복자를 사용하여 벡터 요소에 접근하고 탐색할 수 있습니다.
벡터에 새 데이터를 삽입하는 작업은 벡터의 끝에서 수행됩니다. 이 작업에는 차등 시간이 소요됩니다. 벡터에서 요소를 제거하는 작업은 상수 시간이 소요됩니다. 이는 벡터의 크기를 조정할 필요가 없기 때문입니다. 벡터의 시작 부분에 요소를 삽입하거나 삭제하는 작업에는 선형 시간이 소요됩니다.
벡터를 사용하여 코드를 작성하기 전에, 언제 벡터가 적절한 컨테이너인지 아는 것이 도움이 됩니다.
벡터는 언제 사용하는가?
A C++ 벡터는 다음과 같은 상황에서 사용해야 합니다.
- 지속적으로 변화하는 데이터 요소를 다룰 때.
- 데이터 크기를 시작하기 전에 알 수 없는 경우, 벡터는 컨테이너의 최대 크기를 설정할 필요가 없습니다.
벡터를 초기화하는 방법 C++
벡터의 구문 C++ 입니다
vector <data-type> name (items)
위에 표시된 대로 벡터 키워드로 시작합니다.
- The 데이터 형식 벡터에 저장될 요소의 데이터 유형입니다.
- The name 는 벡터 또는 데이터 요소의 이름입니다.
- The 항목 벡터 데이터의 요소 개수를 나타냅니다. 이 매개변수는 선택 사항입니다.
일단 벡터가 생성되면, 이터레이터를 사용하면 포인터와 유사한 방식으로 벡터의 요소들을 이동할 수 있습니다.
반복자
이터레이터는 벡터에 저장된 요소에 접근하는 데 도움을 주기 위해 사용됩니다. 이터레이터는 포인터처럼 작동하는 객체입니다. 다음은 Vector에서 지원하는 일반적인 이터레이터입니다. C++ 벡터:
- 벡터::시작(): 벡터의 첫 번째 요소를 가리키는 반복자를 제공합니다.
- 벡터::end(): 벡터의 끝이 지난 요소를 가리키는 반복자를 제공합니다.
- 벡터::cbegin(): 이는 vector::begin()과 동일하지만 요소를 수정할 수 있는 기능은 없습니다.
- 벡터::센드(): `vector::end()`와 동일하지만 벡터 요소를 수정할 수는 없습니다.
다음 예제는 벡터에 데이터를 채운 다음, 가변 반복자와 상수 반복자를 모두 사용하여 벡터를 순회합니다.
예제 1
#include <iostream> #include <vector> using namespace std; int main() { vector<int> nums; for (int a = 1; a <= 5; a++) nums.push_back(a); cout << "Output from begin and end: "; for (auto a = nums.begin(); a != nums.end(); ++a) cout << *a << " "; cout << "\nOutput from cbegin and cend: "; for (auto a = nums.cbegin(); a != nums.cend(); ++a) cout << *a << " "; return 0; }
출력:
다음은 코드의 스크린샷입니다.
Code 설명 :
- 코드에 iostream 헤더 파일을 포함합니다. 이를 통해 콘솔에서 읽고 쓸 수 있습니다.
- 코드에 벡터 헤더 파일을 포함합니다. 이를 통해 우리는 벡터로 작업할 수 있습니다. C++.
- 클래스와 함수를 호출하지 않고 사용할 수 있도록 std 네임스페이스를 포함합니다.
- 프로그램의 로직을 추가해야 하는 main() 함수를 호출합니다.
- {는 main() 함수 본문의 시작을 표시합니다.
- 정수 집합을 저장하려면 nums라는 벡터를 선언하세요.
- 벡터를 순회할 수 있도록 for 루프를 생성하세요. 변수를 사용하여 벡터의 첫 번째 요소부터 다섯 번째 요소까지 순차적으로 순회할 수 있습니다.
- 뒤에서 벡터 num에 요소를 밀어 넣습니다. 각 반복마다 변수 a의 현재 값을 벡터(1~5)에 추가합니다.
- 콘솔에 일부 텍스트를 인쇄합니다.
- 반복자 변수 a를 사용하여 벡터 숫자의 요소를 처음부터 마지막 요소까지 반복합니다. 벡터::begin() 및 벡터::end() 반복자를 사용하고 있음을 참고하세요.
- 각 반복마다 콘솔에서 반복자 변수 a가 가리키는 값을 인쇄합니다.
- 콘솔에 일부 텍스트를 인쇄합니다. \n은 새 줄 문자로, 거기에서 인쇄할 새 줄로 커서를 이동합니다.
- 반복자 변수를 사용하여 벡터 nums의 시작부터 끝을 지나친 요소까지 순회합니다. 여기서 vector::cbegin() 및 vector::cend() 반복자를 사용하고 있습니다.
- 각 반복마다 콘솔에서 반복자 변수 a가 가리키는 값을 인쇄합니다.
- 프로그램이 성공적으로 실행되면 main 함수는 값을 반환해야 합니다.
- main() 함수 본문의 끝입니다.
수정 자
수정자는 지정된 데이터 유형의 의미를 변경하는 데 사용됩니다. 다음은 일반적인 수정자입니다. C++:
- 벡터::push_back(): 이 수정자는 요소를 뒤에서 밀어냅니다.
- 벡터::삽입(): 지정된 위치의 벡터에 새 항목을 삽입합니다.
- 벡터::pop_back(): 이 수정자는 뒤에서 벡터 요소를 제거합니다.
- 벡터::지우기(): 지정된 위치에서 다양한 요소를 제거하는 데 사용됩니다.
- 벡터::클리어(): 모든 벡터 요소를 제거합니다.
다음 예제에서는 이러한 수정자를 순서대로 적용하여 벡터가 어떻게 변하는지 살펴봅니다.
예제 2
#include <iostream> #include <vector> using namespace std; int main() { vector<int> nums; nums.assign(5, 1); cout << "Vector contents: "; for (int a = 0; a < nums.size(); a++) cout << nums[a] << " "; nums.push_back(2); int n = nums.size(); cout << "\nLast element: " << nums[n - 1]; nums.pop_back(); cout << "\nVector contents: "; for (int a = 0; a < nums.size(); a++) cout << nums[a] << " "; nums.insert(nums.begin(), 7); cout << "\nFirst element: " << nums[0]; nums.clear(); cout << "\nSize after clear(): " << nums.size(); }
출력:
다음은 코드의 스크린샷입니다.
Code 설명 :
- 해당 기능을 사용하려면 코드에 iostream 헤더 파일을 포함하세요.
- 해당 기능을 사용하려면 코드에 벡터 헤더 파일을 포함하세요.
- 클래스를 호출하지 않고 사용하려면 std 네임스페이스를 포함하세요.
- main() 함수를 호출합니다. 프로그램 로직은 프로그램 본체 내부에 추가되어야 합니다.
- main() 함수 본문의 시작입니다.
- 일부 정수 값을 저장하려면 nums라는 벡터를 선언하세요.
- 벡터 숫자에 5개의 요소를 저장합니다. 각각의 값은 1입니다.
- 콘솔에 일부 텍스트를 인쇄합니다.
- 반복자 변수 a를 사용하여 벡터 숫자의 요소를 반복합니다.
- 각 반복마다 콘솔에 벡터 숫자 값을 인쇄합니다.
- 벡터 num의 끝에 값 2를 추가합니다.
- 벡터 num의 크기를 저장하기 위해 정수 변수 n을 선언합니다.
- 다른 텍스트와 함께 벡터 숫자의 마지막 값을 인쇄합니다. 2를 반환해야 합니다.
- 벡터 숫자에서 마지막 요소를 제거합니다. 2개는 삭제됩니다.
- 콘솔에 텍스트를 인쇄합니다. \n은 커서를 새 줄로 이동하여 거기에 있는 텍스트를 인쇄합니다.
- 반복자 변수 a를 사용하여 벡터 숫자의 요소를 반복합니다.
- 각 반복마다 콘솔에 벡터 숫자 값을 인쇄합니다.
- 벡터 num의 시작 부분에 값 7을 삽입합니다.
- 다른 텍스트와 함께 벡터 숫자의 첫 번째 값을 인쇄합니다. 7을 반환해야 합니다.
- 벡터 숫자에서 모든 요소를 삭제합니다.
- 모든 내용을 지운 후 다른 텍스트와 함께 벡터 num의 크기를 인쇄합니다. 0을 반환해야 합니다.
- main() 함수 본문의 끝입니다.
생산 능력
다음을 사용하십시오. 기능 벡터의 용량을 결정하기 위해:
- 크기() 벡터에 있는 항목의 개수를 반환합니다.
- 최대_크기() – 벡터가 저장할 수 있는 최대 항목 수를 반환합니다.
- 용량() – 벡터에 할당된 저장 공간의 양을 반환합니다.
- 크기 조정() - 컨테이너의 크기를 n개의 항목을 담을 수 있도록 조정합니다. 벡터의 현재 크기가 n보다 크면 뒤쪽 항목이 제거됩니다. 벡터의 현재 크기가 n보다 작으면 추가 항목이 벡터의 뒤쪽에 추가됩니다.
- 비어 있는() 벡터가 비어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
이 마지막 예제는 위에서 설명한 용량 함수를 사용하여 벡터의 저장 용량을 보고하고 조정합니다.
예제 3
#include <iostream> #include <vector> using namespace std; int main() { vector<int> vector1; for (int x = 1; x <= 10; x++) vector1.push_back(x); cout << "Vector size: " << vector1.size()<< endl; cout << "Vector capacity: " << vector1.capacity() << endl; cout << "Maximum size of vector: " << vector1.max_size()<< endl; vector1.resize(5); cout << "Vector size after resizing: " << vector1.size() << endl; if (vector1.empty() == false) cout << "Vector is not empty"<<endl; else cout << "Vector is empty"<<endl; return 0; }
출력:
다음은 코드의 스크린샷입니다.
Code 설명 :
- 해당 기능을 사용하려면 코드에 iostream 헤더 파일을 포함하세요.
- 해당 기능을 사용하려면 코드에 벡터 헤더 파일을 포함하세요.
- 클래스를 호출하지 않고 사용하려면 코드에 std 네임스페이스를 포함하세요.
- main() 함수를 호출합니다. 프로그램 로직은 이 함수의 본문 내에 추가되어야 합니다.
- 정수를 저장할 vector1이라는 벡터를 만듭니다.
- for 루프를 사용하여 1부터 10까지의 값을 갖는 변수 x를 만듭니다.
- 변수 x의 값을 벡터에 푸시합니다.
- 콘솔의 다른 텍스트와 함께 벡터의 크기를 인쇄합니다.
- 콘솔의 다른 텍스트와 함께 벡터의 용량을 인쇄합니다.
- 벡터가 콘솔의 다른 텍스트와 함께 보유할 수 있는 최대 항목 수를 인쇄합니다.
- 5개의 요소만 포함하도록 벡터의 크기를 조정합니다.
- 다른 텍스트와 함께 벡터의 새 크기를 인쇄합니다.
- 벡터가 비어 있지 않은지 확인하세요.
- 벡터가 비어 있지 않으면 콘솔에 텍스트를 인쇄합니다.
- else 문을 사용하여 벡터가 비어 있는 경우 수행할 작업을 지정합니다.
- 벡터가 비어 있는 경우 콘솔에 인쇄할 텍스트입니다.
- 프로그램은 성공적으로 완료되면 값을 반환해야 합니다.
- main() 함수 본문의 끝입니다.





