C++의 벡터 지우기() 함수

C Ui Begteo Jiugi Hamsu



배열은 여러 데이터를 저장하는 데 사용되며 배열의 요소 수는 런타임에 변경할 수 없습니다. 이 문제는 동적 배열처럼 작동하는 벡터를 사용하여 해결할 수 있습니다. 벡터 클래스에는 벡터에서 요소를 추가하고 제거하는 다양한 함수가 있습니다. erasure() 함수는 런타임 시 벡터에서 하나 이상의 요소를 제거하여 벡터 크기를 줄이는 데 사용됩니다. 이 튜토리얼에서는 이 기능의 사용법을 설명했습니다.

통사론:

이 함수의 두 가지 유형의 구문이 아래에 나와 있습니다.







반복자 지우기 ( 반복자 위치 ) ;

위의 erasure() 함수는 벡터에서 단일 요소를 제거하는 데 사용되며 반복자를 반환하고 마지막으로 지워진 요소가 뒤에 오는 요소를 가리킵니다.



반복자 지우기 ( 반복자 시작_위치, 반복자 종료_위치 ) ;

위의 erasure() 함수는 이 함수의 첫 번째 및 두 번째 인수에 언급된 위치를 기반으로 벡터에서 여러 요소를 제거하는 데 사용됩니다.



전제 조건:

이 튜토리얼의 예제를 확인하기 전에 g++ 컴파일러가 시스템에 설치되어 있는지 확인해야 합니다. Visual Studio Code를 사용하는 경우 C++ 소스 코드를 컴파일하여 실행 가능한 코드를 생성하는 데 필요한 확장을 설치합니다. 여기서는 Visual Studio Code 애플리케이션을 사용하여 C++ 코드를 컴파일하고 실행했습니다. 벡터에 요소를 삽입하기 위한 eraser() 함수의 다양한 용도는 아래와 같습니다.





예제-1: 첫 번째 요소 요소 제거

벡터의 시작 부분에서 요소를 제거하려면 다음 코드를 사용하여 C++ 파일을 만듭니다. 문자열 값의 벡터가 코드에 사용되었습니다. 벡터의 값은 하나의 매개변수와 함께 erat() 함수를 사용하여 벡터에서 첫 번째 요소를 삭제하기 전후에 인쇄되었습니다.

//필요한 라이브러리 포함

#include

#include <벡터>

사용하여 네임스페이스 성병 ;

//벡터 값을 표시합니다.

무효의 디스플레이_벡터 ( 벡터 < > 과일 )

{

//카운터 초기화

정수 카운터 = 1 ;

//루프를 사용하여 벡터 요소를 반복하고 인쇄합니다.

~을 위한 ( 자동 = 과일. 시작하다 ( ) ; ! = 과일. ( ) ; ++ )

{

//요소가 마지막 요소인지 확인하십시오.

만약에 ( 카운터 ! = 과일. 크기 ( ) )

시합 << * << ', ' ;

또 다른

시합 << * ;

//카운터를 1씩 증가시킵니다.

카운터 ++ ;

}

시합 << ;

}

정수 기본 ( 무효의 ) {

//문자열 데이터 벡터 선언

벡터 < > 과일 = { '주황색' , '바나나' , '망고' , '잭프루트' , 그 열매 } ;

//벡터의 기존 값을 인쇄합니다.

시합 << '제거 전 벡터 값: ' << ;

디스플레이_벡터 ( 과일 ) ;

//벡터에서 첫 번째 요소를 제거합니다.

과일. 삭제 ( 과일. 시작하다 ( ) ) ;

//제거 후 벡터의 기존 값을 인쇄합니다.

시합 << ' \N 제거 후 벡터 값: ' << ;

디스플레이_벡터 ( 과일 ) ;

반품 0 ;

}

산출:

위 코드를 실행하면 다음과 같은 출력이 나타납니다.

예-2: 여러 요소 제거

erasure() 함수를 사용하여 벡터에서 여러 요소를 제거하려면 다음 코드로 C++ 파일을 만듭니다. 코드에는 정수 값의 벡터가 사용되었습니다. 여기서는 벡터에서 제거되는 요소의 범위를 설정하기 위해 두 개의 반복자가 사용되었습니다. 벡터에서 여러 요소를 제거하기 위해 두 개의 매개변수와 함께 erasure() 함수가 사용되었습니다.

//필요한 라이브러리 포함

#include <벡터>

#include

사용하여 네임스페이스 성병 ;

//벡터 표시

무효의 디스플레이_벡터 ( 벡터 < 정수 > 숫자 )

{

//루프를 사용하여 벡터 값을 인쇄합니다.

~을 위한 ( 자동 = 숫자. 시작하다 ( ) ; ! = 숫자. ( ) ; ++ )

시합 << * << ' ' ;

//새 줄 추가

시합 << ' \N ' ;

}

정수 기본 ( ) {

//정수 데이터 벡터 선언

벡터 < 정수 > intArray { 678 , 435 , 960 , 231 , 800 , 387 , 634 , 267 , 409 , 294 } ;

//벡터의 기존 값을 인쇄합니다.

시합 << '제거 전 벡터 값: ' << ;

디스플레이_벡터 ( intArray ) ;

//벡터에서 요소 범위를 제거하기 위해 두 개의 반복자를 선언합니다.

벡터 < 정수 > :: 반복자 시작Ele, endEle ;

//반복자를 첫 번째 위치로 설정

시작해봐 = intArray. 시작하다 ( ) ;

//시작 반복자를 2씩 증가시킵니다.

전진 ( 시작하고, 2 ) ;

//반복자를 마지막 위치로 설정

끝Ele = intArray. ( ) ;

//종료 반복자를 3씩 감소시킵니다.

전진 ( 끝Ele, - ) ;

//요소 범위 제거

intArray. 삭제 ( 시작Ele, endEle ) ;

//제거 후 벡터의 기존 값을 인쇄합니다.

시합 << ' \N 제거 후 벡터 값: ' << ;

디스플레이_벡터 ( intArray ) ;

반품 0 ;

}

산출:

위 코드를 실행하면 다음과 같은 출력이 나타납니다. 반복자의 범위에 따라 벡터의 3번째 위치부터 7번째 위치까지의 요소가 제거되었습니다.

예시-3: 특정 요소 제거

erasure() 함수를 사용하여 벡터의 특정 요소를 제거하려면 다음 코드로 C++ 파일을 만듭니다. 7개의 정수 요소로 구성된 벡터가 코드에 선언되었습니다. 다음으로, 'for' 루프는 벡터 요소를 반복하고 벡터에서 5로 나눌 수 없는 요소를 제거하는 데 사용되었습니다.

//필요한 라이브러리 포함

#include

#include <벡터>

사용하여 네임스페이스 성병 ;

정수 기본 ( )

{

//정수 데이터 벡터 선언

벡터 < 정수 > 숫자 = { 78 , 넷 다섯 , 67 , 25 , 98 , 75 , 52 } ;

시합 << '제거 전 벡터 값: \N ' ;

~을 위한 ( 정수 const & : 숫자 ) {

시합 << << ' ' ;

}

시합 << ;

//5로 나누어지지 않는 숫자를 벡터에서 제거합니다.

~을 위한 ( 자동 = 숫자. 시작하다 ( ) ; ! = 숫자. ( ) ; ++ )

{

//숫자가 5로 나누어지는지 확인합니다.

만약에 ( * % 5 ! = 0 )

{

//반복자를 기반으로 요소를 제거합니다.

숫자. 삭제 ( -- ) ;

}

}

시합 << '제거 후 벡터 값: \N ' ;

~을 위한 ( 정수 const & : 숫자 ) {

시합 << << ' ' ;


}


시합 << ;


반품 0 ;

}

산출:

위 코드를 실행하면 다음과 같은 출력이 나타납니다. 출력에서는 벡터에 5로만 나눌 수 있는 요소만 포함되어 있고 다른 요소는 제거되었음을 보여줍니다.

결론:

이 튜토리얼에서는 벡터 요소를 제거하기 위해 erasure() 함수를 다양하게 사용하는 방법을 보여줍니다. C++에는 벡터에서 요소를 제거하는 다른 많은 함수가 있으며 이러한 함수는 한 번에 단일 요소를 제거할 수 있습니다. 그러나 벡터 erame() 함수를 사용하면 벡터의 모든 위치에서 단일 요소와 여러 요소를 모두 제거할 수 있습니다.