벡터 입력 C++ 예제가 포함된 표준 템플릿 라이브러리(STL)
무엇이 C++ 벡터?
A C++ 벡터 자동으로 크기를 조정할 수 있는 동적 배열입니다. 크기 조정은 요소가 벡터에 추가되거나 삭제된 후에 발생합니다. 스토리지는 컨테이너에 의해 자동으로 처리됩니다. 벡터의 요소는 연속된 저장소에 저장됩니다. 이를 통해 C++ 프로그래머는 반복자를 사용하여 벡터 요소에 접근하고 탐색할 수 있습니다.
벡터에 새 데이터를 삽입하는 작업은 벡터 끝에서 수행됩니다. 이 작업에는 차등 시간이 걸립니다. 벡터에서 요소를 제거하는 데는 일정한 시간이 걸립니다. 그 이유는 벡터의 크기를 조정할 필요가 없기 때문입니다. 벡터 시작 부분에 요소를 삽입하거나 삭제하는 데는 선형 시간이 걸립니다.
벡터는 언제 사용하는가?
A C++ 벡터는 다음과 같은 상황에서 사용해야 합니다.
- 지속적으로 변화하는 데이터 요소를 다룰 때.
- 시작하기 전에 데이터 크기를 알 수 없는 경우 벡터에서는 컨테이너의 최대 크기를 설정할 필요가 없습니다.
벡터를 초기화하는 방법 C++
벡터의 구문 C++ 입니다
vector <data-type> name (items)
- 위에 표시된 대로 벡터 키워드로 시작합니다.
- 데이터 유형은 벡터에 저장될 요소의 데이터 유형입니다.
- 이름은 벡터 또는 데이터 요소의 이름입니다.
- 항목은 벡터 데이터의 요소 수를 나타냅니다. 이 매개변수는 선택사항입니다.
반복자
반복자의 목적은 벡터에 저장된 요소에 액세스하도록 돕는 것입니다. 포인터처럼 작동하는 객체입니다. 다음은 에서 지원하는 공통 반복자입니다. C++ 벡터:
- 벡터:: 시작(): 벡터의 첫 번째 요소를 가리키는 반복자를 제공합니다.
- 벡터:: 끝(): 벡터의 끝이 지난 요소를 가리키는 반복자를 제공합니다.
- 벡터::cbegin(): 이는 vector::begin()과 동일하지만 요소를 수정하는 기능은 없습니다.
- 벡터::센드(): 이는 vector::end()와 동일하지만 벡터 요소를 수정할 수는 없습니다.
수정 자
수정자는 지정된 데이터 유형의 의미를 변경하는 데 사용됩니다. 다음은 일반적인 수정자입니다. C++:
- 벡터::push_back(): 이 수정자는 요소를 뒤에서 밀어냅니다.
- 벡터::삽입(): 지정된 위치의 벡터에 새 항목을 삽입합니다.
- 벡터::pop_back(): 이 수정자는 뒤에서 벡터 요소를 제거합니다.
- 벡터::지우기(): 지정된 위치에서 다양한 요소를 제거하는 데 사용됩니다.
- 벡터::클리어(): 모든 벡터 요소를 제거합니다.
예제 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; }
출력:
다음은 코드의 스크린샷입니다.
코드 설명 :
- 코드에 iostream 헤더 파일을 포함합니다. 이를 통해 콘솔에서 읽고 쓸 수 있습니다.
- 코드에 벡터 헤더 파일을 포함합니다. 이를 통해 우리는 벡터로 작업할 수 있습니다. C++.
- 클래스와 함수를 호출하지 않고 사용할 수 있도록 std 네임스페이스를 포함합니다.
- 프로그램의 로직을 추가해야 하는 main() 함수를 호출합니다.
- {는 main() 함수 본문의 시작을 표시합니다.
- 정수 집합을 저장하려면 nums라는 벡터를 선언하세요.
- 벡터를 반복하는 데 도움이 되는 for 루프를 만듭니다. 변수는 1부터 벡터 요소를 반복하는 데 도움이 됩니다.st 5로th 집단.
- 뒤에서 벡터 num에 요소를 밀어 넣습니다. 각 반복마다 변수 a의 현재 값을 벡터(1~5)에 추가합니다.
- 콘솔에 일부 텍스트를 인쇄합니다.
- 반복자 변수 a를 사용하여 벡터 숫자의 요소를 처음부터 마지막 요소까지 반복합니다. 벡터::begin() 및 벡터::end() 반복자를 사용하고 있음을 참고하세요.
- 각 반복마다 콘솔에서 반복자 변수 an이 가리키는 값을 인쇄합니다.
- 콘솔에 일부 텍스트를 인쇄합니다. \n은 새 줄 문자로, 거기에서 인쇄할 새 줄로 커서를 이동합니다.
- 반복자 변수를 사용하여 처음부터 마지막 요소까지 벡터 숫자의 요소를 반복합니다. 벡터::cbegin() 및 vector::cend() 반복자를 사용하고 있음을 참고하세요.
- 각 반복마다 콘솔에서 반복자 변수 a가 가리키는 값을 인쇄합니다.
- 프로그램이 성공적으로 실행되면 main 함수는 값을 반환해야 합니다.
- main() 함수 본문의 끝입니다.
예제 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(); }
출력:
다음은 코드의 스크린샷입니다.
코드 설명 :
- 해당 기능을 사용하려면 코드에 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보다 작은 경우 추가 항목이 벡터 뒷면에 추가됩니다.
- 비어있음() -it는 벡터가 비어 있으면 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; }
출력:
다음은 코드의 스크린샷입니다.
코드 설명 :
- 해당 기능을 사용하려면 코드에 iostream 헤더 파일을 포함하세요.
- 해당 기능을 사용하려면 코드에 벡터 헤더 파일을 포함하세요.
- 클래스를 호출하지 않고 사용하려면 코드에 std 네임스페이스를 포함하세요.
- main() 함수를 호출합니다. 프로그램 로직은 이 함수의 본문 내에 추가되어야 합니다.
- 정수를 저장할 vector1이라는 벡터를 만듭니다.
- for 루프를 사용하여 1부터 10까지의 값을 갖는 변수 x를 만듭니다.
- 변수 x의 값을 벡터에 푸시합니다.
- 콘솔의 다른 텍스트와 함께 벡터의 크기를 인쇄합니다.
- 콘솔의 다른 텍스트와 함께 벡터의 용량을 인쇄합니다.
- 벡터가 콘솔의 다른 텍스트와 함께 보유할 수 있는 최대 항목 수를 인쇄합니다.
- 5개의 요소만 포함하도록 벡터의 크기를 조정합니다.
- 다른 텍스트와 함께 벡터의 새 크기를 인쇄합니다.
- 벡터가 비어 있지 않은지 확인하세요.
- 벡터가 비어 있지 않으면 콘솔에 텍스트를 인쇄합니다.
- else 문을 사용하여 벡터가 비어 있는 경우 수행할 작업을 지정합니다.
- 벡터가 비어 있는 경우 콘솔에 인쇄할 텍스트입니다.
- 프로그램은 성공적으로 완료되면 값을 반환해야 합니다.
- main() 함수 본문의 끝입니다.
요약
- A C++ 벡터는 요소가 추가되거나 삭제될 때 자동으로 크기를 조정할 수 있는 동적 배열입니다.
- 벡터에 대한 저장은 컨테이너에 의해 자동으로 처리됩니다.
- 벡터의 요소는 반복자를 사용하여 액세스한 다음 탐색하기 위해 연속 저장소에 저장됩니다.
- 벡터에 새 데이터를 삽입하는 작업은 벡터의 끝에서 수행됩니다.
- 벡터에 데이터를 삽입하는 데는 차등 시간이 걸립니다.
- 벡터에서 요소를 제거하는 데는 일정한 시간이 걸립니다.
- 처음에 요소를 삽입하거나 삭제하는 데는 선형 시간이 걸립니다.
- 지속적으로 변경되는 데이터 요소를 처리할 때는 벡터를 사용해야 합니다.
- 또한 시작하기 전에 데이터 크기를 알 수 없는 경우 벡터를 사용할 수 있습니다.