C++에서 기능 목록 고유( ) 함수를 STL로 표시하는 작업이 주어집니다.
STL의 목록이란 무엇입니까
목록은 순서대로 어디에서나 일정한 시간 삽입 및 삭제를 허용하는 컨테이너입니다. 목록은 이중 연결 목록으로 구현됩니다. 목록은 비연속적인 메모리 할당을 허용합니다. 목록은 배열, 벡터 및 데크보다 컨테이너의 모든 위치에서 요소의 삽입 추출 및 이동을 더 잘 수행합니다. 목록에서 요소에 대한 직접 액세스는 느리고 목록은 forward_list와 비슷하지만 순방향 목록 개체는 단일 연결 목록이며 앞으로만 반복될 수 있습니다.
독특한( )
list unique( )는 list의 모든 중복 요소를 제거하는 데 사용됩니다.
구문
list_name.unique(이진 술어 이름)
이진 술어의 구문
부울 이름(data_type a, data_type b)
매개변수
이 함수는 요소가 동일한 것으로 처리되어야 하는 경우 true를 반환하는 이진 술어인 단일 매개변수를 허용합니다.
예시
입력 목록 - 2 2 6 7 9 9 9 10 5 5
출력 새 목록 − 2 5 6 7 9 10
입력 목록 - 3.14 5.56 7.62 9.00 0.45 7.62 9.00 7.62 0.45 3.00
출력 새 목록 - 0.45 3.00 3.14 5.56 7.62 9.00
접근법을 따를 수 있음
-
먼저 이진 술어 함수를 만듭니다.
-
그런 다음 목록을 초기화합니다.
-
그런 다음 unique( ) 함수를 정의합니다.
-
그런 다음 고유한 작업 후에 목록을 인쇄합니다.
위의 방법을 사용하여 목록에서 중복 요소를 제거할 수 있습니다.
예시
/ / STL#include#include 네임스페이스 std 사용;/ / 바이너리 predicateBool cmp(int a, int b용 함수)에서 list unique() 함수의 작동을 보여주기 위한 C++ 코드 ){ 반환 (abs(a) ==abs(b))}int main ( ){ List 목록 ={ 13, 14, 13, 19, 20, 19, 15, 19, 20, 15, 15 }; // 리스트 출력 cout<<" Elements in List:"; for( 자동 x =List.begin( ); x !=List.end( ); ++x) cout<<*x <<" "; // unique() 선언 function list.unique(cmp); // 고유 작업 후 새 목록 인쇄 cout<<"고유 작업 후 목록:"; for( x=list.begin( ); x !=list.end( ); ++x) cout<<““<<*x; 반환 0;}
출력
위의 코드를 실행하면 다음 출력이 생성됩니다.
Input - List의 요소 :13 14 13 19 20 19 15 19 20 15Output - 고유 연산 후의 List :13 14 15 19 20
예시
/ / STL#include#include 네임스페이스 std 사용;// 바이너리 predicateBool cmp(float a, float b용 함수)에서 list unique() 함수의 작동을 보여주는 C++ 코드 ){ 반환 (abs(a) ==abs(b))}int main ( ){ 목록 t; 목록 ={ 3.14, 5.56, 7.62, 9.00, 0.45, 7.62, 9.00, 7.62, 0.45, 3.00}; // 리스트 출력 cout<<" Elements in List:"; for( 자동 x =List.begin( ); x !=List.end( ); ++x) cout<<*x <<" "; // unique() 선언 function list.unique(cmp); // 고유 작업 후 새 목록 인쇄 cout<<"고유 작업 후 목록:"; for( x=list.begin( ); x !=list.end( ); ++x) cout<<““<<*x; 반환 0;}
출력
위의 코드를 실행하면 다음 출력이 생성됩니다.
입력 - 목록의 요소:3.14 5.56 7.62 9.00 0.45 7.62 9.00 7.62 0.45 3.00출력 - 고유 작업 후 목록:0.45 3.00 3.14 5.56 7.62 9.