인프런 커뮤니티 질문&답변
7:45 부근 질문있습니다.
해결된 질문
작성
·
189
0
교수님께서 원하면 sorting을 중간까지만 할 수 있다고 하셨습니다.
std::sort(my_arr, my_arr+3);
그래서 이런 식으로 하면 작동이 될 줄 알았는데 my_arr은 array 달리 변수명이 포인터가 아닌가봅니다. 어떡하면 중간까지만 sorting을 할 수 있나요?
답변 1
2
간단합니다.
sort의 인자를
아래와 같이 my_arr.begin() + index 로 주면 됩니다.
아래 예시의 경우 인덱스 3까지만 정렬됩니다.
#include<iostream>
#include<algorithm>
#include<array>
using namespace std;
int main()
{
array<int, 5> my_arr = { 1, 21, 3, 40, 5 };
for (auto &element : my_arr)
cout << element << " ";
cout << endl;
sort(my_arr.begin(), my_arr.begin() + 3);
for (auto &element : my_arr)
cout << element << " ";
cout << endl;
return 0;
}





감사합니다!