-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
7:45 부근 질문있습니다.
22.07.25 17:19 작성 조회수 89
0
교수님께서 원하면 sorting을 중간까지만 할 수 있다고 하셨습니다.
std::sort(my_arr, my_arr+3);
그래서 이런 식으로 하면 작동이 될 줄 알았는데 my_arr은 array 달리 변수명이 포인터가 아닌가봅니다. 어떡하면 중간까지만 sorting을 할 수 있나요?
답변을 작성해보세요.
2
강민철
2022.07.26
간단합니다.
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;
}
답변 1