C++에서 forward_list::unique() 함수의 작동을 보여주는 작업이 주어집니다.
순방향 목록은 시퀀스 내 어디에서나 일정한 시간 삽입 및 지우기 작업을 허용하는 시퀀스 컨테이너입니다. 순방향 목록은 단일 연결 목록으로 구현됩니다. 순서는 시퀀스의 다음 요소에 대한 링크의 각 요소에 대한 연결에 의해 유지됩니다.
forward_list::unique()는 C++ 표준 라이브러리 함수의 함수로, 정방향 목록에서 모든 중복 요소를 제거하는 데 사용됩니다. 요소가 즉시 요소와 동일하게 비교되는 경우에만 forward_list 컨테이너에서 요소가 제거된다는 점에 유의하십시오. 따라서 이 기능은 정렬된 목록에 특히 유용합니다.
구문
Forwardlist_name.unique(binarypredicate name)
이진 술어의 구문
bool 이름(데이터 유형 a, 데이터 유형 b)
매개변수 − 이 함수는 요소가 동일한 것으로 취급되어야 하는 경우 true를 반환하는 이진 술어인 단일 매개변수를 허용합니다.
예시
Output – List : 4, 4, 17, 32, 45, 56, 56, 45, 32, 4, 17, 17 After Unique operation output is Unique list : 4, 17, 32, 45, 56 Output – List : 15.2, 74.0, 3.14, 15.2, 69.5, 74.0, 3.14, 18.5, 3.99 After Unique operation output is Unique list : 3.14, 3.99, 15.2, 18.5, 69.5, 74.0
접근법을 따를 수 있음
-
먼저 이진 술어 함수를 만듭니다.
-
그런 다음 앞으로 목록을 초기화합니다.
-
그런 다음 unique( ) 함수를 정의합니다.
-
그런 다음 고유한 작업 후에 전달 목록을 인쇄합니다.
위의 접근 방식을 사용하여 정방향 목록에서 중복 요소를 제거할 수 있습니다.
예시
// C++ code to demonstrate the working of forward_list::unique( ) #include<iostream.h> #include<forward_list.h> Using namespace std; // function for binary predicate bool cmp(int a, int b){ return (abs(a) == abs(b)) } int main(){ // initializing the forward list forward_list<int> List = { 2, 4, 6, 3, 5, 3, 4, 4, 9, 1, 6, 6, 2, 2, 9 } cout<< " Elements of List:"; for( auto x = List.start(); x != List.end(); ++x ) cout<< *x << " "; // defining of function that performs the Unique operation List.unique(); cout<< “ Unique List :”; for(auto x = List.start(); x != List.end(); ++x) cout<< *x << " "; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다.
OUTPUT – List : 2, 4, 6, 3, 5, 4, 4, 9, 1, 6, 6, 2, 2, 9 Unique List : 1, 2, 3, 4, 5, 6, 9 OUTPUT – List : 15.2, 74.0, 3.14, 15.2, 69.5, 74.0, 3.14, 18.5, 3.99 Unique List : 3.14, 3.99, 15.2, 18.5, 69.5, 74.0