본문 바로가기

알고리즘/기본 문법

<알고리즘> 배열 시계방향, 반시계 방향 회전(rotate())

함수 원형

rotate(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last);

인자로는 모두 iterator가 들어 갈 수 있으며, first에서 last 사이에 있는 부분배열에서 middle이 가리키는 요소가 first로 가며 회전한다.

 

 

 

 

코드


#include <bits/stdc++.h>
using namespace std;
vector<int> v;
int main()
{
	for(int i = 1; i < 10; i++) v.push_back(i);
 	//  2 3 4 5 6 7 8 9 1
	//rotate(v.begin(), v.begin() + 1, v.end());
 	
 	//  9 1 2 3 4 5 6 7 8
	rotate(v.begin(), v.begin() + v.size() - 1, v.end());
 	
 	for (std::vector<int>::iterator it=v.begin(); it!=v.end(); ++it)
		std::cout << ' ' << *it;
	std::cout << '\n';

}