산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

예제가 있는 C++ 표준 템플릿 라이브러리(STL)의 벡터

C++ 벡터란 무엇입니까?

C++ 벡터 자동으로 크기를 조정할 수 있는 동적 배열입니다. 크기 조정은 요소가 벡터에서 추가되거나 삭제된 후에 발생합니다. 저장소는 컨테이너에서 자동으로 처리됩니다. 벡터의 요소는 연속 스토리지에 저장됩니다. 이를 통해 C++ 프로그래머는 반복자를 사용하여 벡터 요소에 액세스하고 탐색할 수 있습니다.

벡터에 대한 새 데이터의 삽입은 끝에서 수행됩니다. 이것은 차등 시간이 걸립니다. 벡터에서 요소를 제거하는 데는 일정한 시간이 걸립니다. 그 이유는 벡터의 크기를 조정할 필요가 없기 때문입니다. 벡터 시작 부분에 요소를 삽입하거나 삭제하는 데 선형 시간이 걸립니다.

이 C++ 자습서에서는 다음을 배우게 됩니다.

벡터를 언제 사용해야 하나요?

C++ 벡터는 다음 상황에서 사용해야 합니다.

C++에서 벡터를 초기화하는 방법

C++의 벡터 구문은 다음과 같습니다.

vector <data-type> name (items)

반복자

반복자의 목적은 벡터에 저장된 요소에 액세스하는 데 도움이 되는 것입니다. 포인터처럼 작동하는 객체입니다. 다음은 C++ 벡터에서 지원하는 일반적인 반복기입니다.

수정자

한정자는 지정된 데이터 유형의 의미를 변경하는 데 사용됩니다. 다음은 C++의 공통 수식어입니다.

예시 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;
}

출력:

다음은 코드의 스크린샷입니다.

코드 설명:

  1. 코드에 iostream 헤더 파일을 포함합니다. 이를 통해 콘솔에서 읽고 쓸 수 있습니다.
  2. 코드에 벡터 헤더 파일을 포함합니다. 이를 통해 C++에서 벡터로 작업할 수 있습니다.
  3. std 네임스페이스를 호출하지 않고 클래스와 함수를 사용할 수 있도록 포함합니다.
  4. 프로그램의 논리가 추가되어야 하는 main() 함수를 호출합니다.
  5. {는 main() 함수 본문의 시작을 표시합니다.
  6. 정수 집합을 저장하기 위해 nums라는 벡터를 선언합니다.
  7. for 루프를 만들어 벡터를 반복할 수 있습니다. 변수는 1 st 부터 벡터 요소를 반복하는 데 도움이 됩니다. 5 까지 요소.
  8. 요소를 뒤쪽에서 벡터 num으로 밀어 넣습니다. 각 반복에 대해 변수 a의 현재 값이 1에서 5까지인 벡터에 추가됩니다.
  9. 콘솔에 텍스트 인쇄
  10. 반복자 변수 a를 사용하여 벡터 num의 요소를 처음부터 과거 요소까지 반복합니다. vector::begin() 및 vector::end() 반복자를 사용하고 있습니다.
  11. 각 반복에 대해 콘솔에서 iterator 변수가 가리키는 값을 인쇄합니다.
  12. 콘솔에 일부 텍스트를 인쇄합니다. \n은 새 줄 문자로 커서를 새 줄로 이동하여 인쇄합니다.
  13. 반복자 변수를 사용하여 벡터 num의 요소를 처음부터 과거 요소까지 반복합니다. vector::cbegin() 및 vector::cend() 반복자를 사용하고 있습니다.
  14. 각 반복에 대해 콘솔에서 반복자 변수 a가 가리키는 값을 인쇄합니다.
  15. 프로그램이 성공적으로 실행되면 기본 함수는 값을 반환해야 합니다.
  16. 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();			
}

출력:

다음은 코드의 스크린샷입니다.

코드 설명:

  1. 해당 기능을 사용하려면 코드에 iostream 헤더 파일을 포함하세요.
  2. 코드에 벡터 헤더 파일을 포함하여 해당 기능을 사용하세요.
  3. 호출하지 않고 클래스를 사용하려면 std 네임스페이스를 포함합니다.
  4. main() 함수를 호출합니다. 프로그램 로직은 본문 안에 추가되어야 합니다.
  5. main() 함수 본문의 시작입니다.
  6. 일부 정수 값을 저장하기 위해 nums라는 벡터를 선언합니다.
  7. 벡터 숫자에 5개의 요소를 저장합니다. 각각 값이 1입니다.
  8. 콘솔에 텍스트 인쇄
  9. 반복자 변수를 사용하여 벡터 숫자의 요소를 반복합니다.
  10. 각 반복마다 콘솔에 벡터 숫자 값을 인쇄합니다.
  11. 벡터 숫자 끝에 값 2를 추가합니다.
  12. 벡터 num의 크기를 저장할 정수 변수 n을 선언합니다.
  13. 다른 텍스트와 함께 벡터 숫자의 마지막 값을 인쇄합니다. 2를 반환해야 합니다.
  14. 벡터 숫자에서 마지막 요소를 제거합니다. 2개가 삭제됩니다.
  15. 콘솔에 텍스트를 인쇄합니다. \n은 커서를 새 줄로 이동하여 거기에 텍스트를 인쇄합니다.
  16. 반복자 변수를 사용하여 벡터 숫자의 요소를 반복합니다.
  17. 각 반복마다 콘솔에 벡터 숫자 값을 인쇄합니다.
  18. 벡터 숫자의 시작 부분에 값 7을 삽입합니다.
  19. 다른 텍스트와 함께 벡터 숫자의 첫 번째 값을 인쇄합니다. 7을 반환해야 합니다.
  20. 벡터 숫자에서 모든 요소를 ​​삭제합니다.
  21. 모든 내용을 지운 후 다른 텍스트와 함께 벡터 num의 크기를 인쇄합니다. 0을 반환해야 합니다.
  22. main() 함수 본문의 끝입니다.

용량

다음 함수를 사용하여 벡터의 용량을 결정합니다.

예시 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;
}

출력:

다음은 코드의 스크린샷입니다.

코드 설명:

  1. 해당 기능을 사용하려면 코드에 iostream 헤더 파일을 포함하세요.
  2. 코드에 벡터 헤더 파일을 포함하여 해당 기능을 사용하세요.
  3. 코드에 std 네임스페이스를 포함하여 호출하지 않고 해당 클래스를 사용합니다.
  4. main() 함수를 호출합니다. 이 함수의 본문에 프로그램 로직을 추가해야 합니다.
  5. 정수를 저장할 vector1이라는 벡터를 만듭니다.
  6. for 루프를 사용하여 1에서 10까지의 값으로 변수 x를 생성합니다.
  7. 변수 x의 값을 벡터로 푸시합니다.
  8. 콘솔의 다른 텍스트와 함께 벡터의 크기를 인쇄합니다.
  9. 콘솔의 다른 텍스트와 함께 벡터의 용량을 인쇄합니다.
  10. 콘솔의 다른 텍스트와 함께 벡터가 보유할 수 있는 최대 항목 수를 인쇄합니다.
  11. 5개의 요소만 포함하도록 벡터 크기를 조정합니다.
  12. 다른 텍스트와 함께 벡터의 새 크기를 인쇄합니다.
  13. 벡터가 비어 있지 않은지 확인합니다.
  14. 벡터가 비어 있지 않으면 콘솔에 텍스트를 인쇄합니다.
  15. 벡터가 비어 있는 경우 수행할 작업을 지정하려면 else 문을 사용합니다.
  16. 벡터가 비어 있는 경우 콘솔에 인쇄할 텍스트입니다.
  17. 프로그램은 성공적으로 완료되면 값을 반환해야 합니다.
  18. main() 함수 본문의 끝

요약:


C 언어

  1. C 표준 라이브러리 함수
  2. 예제가 있는 C++의 연산자:정의, 유형 및 프로그램
  3. C++ do… while 루프 예제
  4. EXAMPLE이 있는 C++ Switch Case 문
  5. 예제를 사용한 C++ 배열 동적 할당
  6. 예제가 있는 C++ 포인터
  7. 예제를 사용한 C++ 연산자 오버로딩
  8. 예제가 있는 C++의 std::list
  9. 프로그램 예제가 있는 C++ 함수
  10. 구조체와 클래스의 차이점:C++ 예제로 설명