Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ STL에서 list_remove( ) 및 list remove_if( )

<시간/>

기능 목록 remove( ) 및 list remove_if( ) 함수를 C++에서 STL로 표시하는 작업이 주어집니다.

STL의 목록이란 무엇입니까?

목록은 순서대로 어디에서나 일정한 시간 삽입 및 삭제를 허용하는 컨테이너입니다. Listare는 이중 연결 목록으로 구현됩니다. 목록은 비연속적인 메모리 할당을 허용합니다. 목록은 배열, 벡터 및 데크보다 컨테이너의 모든 위치에서 요소의 삽입 추출 및 이동을 더 잘 수행합니다. 목록에서 요소에 대한 직접 액세스는 느리고 목록은forward_list와 비슷하지만 앞으로 목록 개체는 단일 연결 목록이며 앞으로만 반복될 수 있습니다.

제거( )란 무엇입니까?

이 함수는 함수에 매개변수로 전달된 주어진 값을 제거하는 데 사용됩니다.

구문

listname.remove(val);

매개변수

− 제거할 값을 정의합니다.

예시

Input List: 1 2 3 3 4 5
Output New List: 1 2 4 5
In this List element 3 is removed.

Input List: 5 6 7 8 8 8 9
Output New List: 5 7 8 8 8 9
In this list element 6 in removed

접근법을 따를 수 있음

  • 먼저 목록을 선언합니다.

  • 그런 다음 목록을 인쇄합니다.

  • 그런 다음 remove() 함수를 정의합니다.

위의 접근 방식을 사용하여 주어진 요소를 제거할 수 있습니다.

예시

// C++ code to demonstrate the working of list remove( ) function in STL
#include<iostream.h>
#include<list.h>
Using namespace std;
int main ( ){
   List<int> list = { 21, 24, 28, 26, 27, 25 };
   // print the list
   cout<< " list: ";
   for( auto x = list.begin( ); x != list.end( ); ++x)
      cout<< *x << " ";
   // defining remove( ) function
   list.remove(27);
   cout<< " New List:”;
   for( x = list.begin( ); x != list.end( ); ++x)
      cout<<' " " << *x;
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다.

Input - List: 21 24 28 26 27 25
Output - New List: 21 24 28 26 25
Input – List: 45 46 47 48 49 50
Output – New List: 45 46 48 49 50

remove_if() 함수란 무엇입니까?

이 함수는 조건부에 true를 반환하거나 매개변수로 전달된 조건에 대해 true를 반환하는 값을 제거하는 데 사용됩니다.

구문

listname.remove_if(predicate)

매개변수

술어 − 매개변수로 전달되는 조건을 정의합니다.

예시

Input – List: 5 6 7 8 9 10
Output – New List: 5 7 9
In this list we remove all the even elements.

Input – List:5 10 15 20 25 30
Output – New List: 5 15 25
In this List we remove all the elements which is divisible by 10.

접근법을 따를 수 있음

  • 먼저 술어 함수를 선언합니다.

  • 그런 다음 목록을 선언합니다.

  • 그런 다음 목록을 인쇄합니다.

  • 그런 다음 remove_if() 함수를 선언합니다.

위의 접근 방식을 사용하여 주어진 조건에서 요소를 제거할 수 있습니다. remove_if() 함수를 선언하는 동안 우리는 술어를 매개변수로 전달합니다.

예시

// C++ code to demonstrate the working of list remove_if( ) function in STL
#include<iostream.h>
#include<list.h>
Using namespace std;
Bool div3( const int& val){
   return( val % 3) == 0);
}
int main( ){
   List<int> list = { 2, 3, 4, 15, 9, 7, 21, 24, 13 };
   cout<< " List: ";
   for( auto x = list.begin( ); x != list.end( ); ++x)
      cout<< *x << " ";
   // declaring remove_if( ) function
   list.remove_if(div3);
   cout<< " New List:”;
   for( x= list.begin( ); x != end( ); ++x)
      cout<< " " << *x;
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다.

Input – List: 2 3 4 15 9 7 21 24 13
Output – New List: 2 4 7 13