분류 | 게시판 |
베스트 |
|
유머 |
|
이야기 |
|
이슈 |
|
생활 |
|
취미 |
|
학술 |
|
방송연예 |
|
방송프로그램 |
|
디지털 |
|
스포츠 |
|
야구팀 |
|
게임1 |
|
게임2 |
|
기타 |
|
운영 |
|
임시게시판 |
|
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);
}
와 같이 쓰고자 하는대 잘 안되네요
분명 범위 조절 할수 있을것 같은대
조언 부탁드립니다.
죄송합니다. 댓글 작성은 회원만 가능합니다.