요소 시퀀스의 순서를 반대로하는 자체 역 알고리즘을 작성하려고합니다. 나는 'first'와 'limit'만을 사용하고 있으며, 모든 함수가 매개 변수로 가질 것입니다. 첫 번째 요소가 마지막이고 두 번째 요소가 두 번째 요소 인 순서의 순서를 뒤집는 함수를 작성할 수 있습니까? 요소를 저장하기 위해 임시 벡터를 사용하지 않으려 고합니다. 이것이 가능한가? 내 질문에 불분명 한 점이 있으면 알려주십시오. 감사합니다. 나는 C++ 11을 사용하고 있는데 이것은 내가 지금까지 가지고있는 것이다 ..별로. 임시 벡터를 사용하고 싶지 않다면 어떤 논리를 사용해야할지 모르겠습니다.내 자신의 역방향 함수를 작성하려고 시도합니다.
template<typename Iter>
void reverse(Iter first, Iter last)
{
}
int main()
{
std::vector<int> vector = {1,2,3,4,5};
std::cout << reverse(vector.begin(),vector.end());
}
지금까지 어떤 시도를 해봤으며 어떤 프로그래밍 언어에 대해 이야기하고 있습니까? –
맨 위로 질문에 추가했습니다. 혼란스러워서 죄송합니다. – compsciman06
0으로 초기화 된 함수에서 임시 변수를 사용하십시오. 첫 번째 마지막 반복자 요소를 교체 한 다음 1을 더하고 첫 번째 및 마지막 요소에서 1 위치를 뺀 다음 두 번째 및 두 번째 마지막 요소를 가리 키도록하고 왼쪽 <까지 오른쪽으로 스왑을 계속합니다. 벡터에 홀수 요소가 있는지 확인하고 왼쪽 포인터가 오른쪽과 같으면 중지합니다. –