C++에서 forward_list::swap() 함수의 작동을 보여주는 작업이 주어집니다.
전달 목록이란 무엇입니까?
순방향 목록은 시퀀스 내 어디에서나 일정한 시간 삽입 및 지우기 작업을 허용하는 시퀀스 컨테이너입니다. 순방향 목록은 단일 연결 목록으로 구현됩니다. 순서는 시퀀스의 다음 요소에 대한 링크의 각 요소에 대한 연결에 의해 유지됩니다.
forward_list::swap()이란 무엇입니까?
forward_list::swap( )은 한 목록의 내용을 동일한 크기 및 동일한 데이터 유형의 다른 목록으로 교환하는 데 사용되는 C++ 표준 라이브러리 함수의 함수입니다.
구문
forward_list1.swap(forward_list2)
또는
swap(forward_list first, forward_list second)
예시
Output – First list : 57 99 54 34 84 Second list : 45 65 78 96 77 After swapping operation outputs are First list : 45 65 78 96 77 Second list : 57 99 54 34 84 Output – First list : 44 37 68 94 73 Second list : 20 11 87 29 40 After swapping operation outputs are First list : 20 11 87 29 40 Second list : 44 37 68 94 73
접근법을 따를 수 있음
-
먼저 2개의 정방향 목록을 초기화합니다.
-
그런 다음 두 개의 앞으로 목록을 인쇄합니다.
-
그런 다음 swap( ) 함수를 정의합니다.
-
그런 다음 교환 후 정방향 목록을 인쇄합니다.
위의 접근 방식을 사용하여 두 개의 앞으로 목록을 바꿀 수 있습니다.
알고리즘
시작 -
STEP 1 – Intialize the two forward list and print them First list forward_list<int> List1 = { 10, 20, 30, 40, 50 } for( auto x = list1.start( ); x != list1.end( ); ++x ) cout<< *x << “ “ ; second list forward_list<in> list2 = { 40, 30, 20, 10, 50 } for( auto x = list2.start( ); x != list2.end( ); ++x ) cout<< *x << “ “ ; END STEP 2 – create the swap function to perform swap operation. swap( list1, list2) END Stop
예시
// C++ code to demonstrate the working of forward_list::reverse( ) #include<iostream.h> #include<forward_list.h> Using namespace std; Int main( ){ // initializing two forward lists forward_list<int> list1 = { 10, 20, 30, 40, 50 } cout<< “ Elements of List1:”; for( auto x = list1.start( ); x != list1.end( ); ++x ) cout<< *x << “ “ ; forward_list<int> list2 = { 40, 30, 20, 10, 50 } cout<< “Elements of List2:”; for( auto x = list2.start( ); x != list2.end( ); ++x ) cout<< *x << “ “ ; // defining of function that performs the swap operation swap(list1, list2); cout<< “ After swapping List1 is :”; for(auto x = list1.start( ); x != list1.end( ); ++x) cout<< *x<< “ “; cout<< “ After swapping List2 is :”; for(auto x = list1.start( ); x!= list2.end( ); ++x) cout<< *x<< “ “; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다.
OUTPUT – Elements of List1 : 10 20 30 40 50 Elements of list2 : 40 30 20 10 50 After Swapping List1 : 40 30 20 10 50 After Swapping List2 : 10 20 30 40 50 OUTPUT – Elements of List1 : 23 56 78 49 11 Elements of List2 : 11 49 78 56 23 After Swapping List1 : 11 49 78 56 23 After Swapping List1 : 23 56 78 49 11