게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C++ 에서 sort 함수의 범위 지정이 가능할까요?
게시물ID : programmer_23248짧은주소 복사하기
작성자 : 한시운
추천 : 0
조회수 : 835회
댓글수 : 3개
등록시간 : 2021/05/13 17:28:14

C++ 에서 알고리즘 정렬 함수 sort를 

sort(구조체배열[배열_시작점], 구조체배열[배열_끝남], 구조체배열_비교함수);

와 같이 쓰고 싶은대 마음대로 안되네요

 

0~9까지 비교함수A 로 정렬하고 10~19까지 비교함수B 와 같은 식으로 정리하고자 하는대

sort를 쓰면 무조건 정렬하는 시작점이 0으로 잡혀버립니다.

 

 

코드로 예를 들자면

 

struct MyStruct

{

string s_buf;

};

 

bool b_swap(const MyStruct& swap1, const MyStruct& swap2) {

return swap1.s_buf < swap2.s_buf;

}


int main(void) {


MyStruct *S = new MyStruct[20];

for (int i = 0; i < n; i++) {

cin >> S[i].s_input;

S[i].i_size = S[i].s_input.length();

}

sort(S[0], S[9], b_swap);

sort(S[10], S[19], b_swap);

}

 

와 같이 쓰고자 하는대 잘 안되네요

 

분명 범위 조절 할수 있을것 같은대

조언 부탁드립니다.

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호