다른 사람들의 코드를 이해하려고 힘듭니다. 누군가가 나를 도와 주면 정말 감사하겠습니다.정렬과 개체 비교. C++
객체 배열이 vpair_list
이고이 vpair_list
유형이 vpair
인 경우를 가정 해 보겠습니다. 그래서,이 같은 것입니다 : 내가 그 알고하는 sort()
배열 vpair_list
의 각 요소를 비교하고 정렬되어
class vpair
{
public:
int vid;
int vlabel;
};
bool operator < (const vpair& x, const vpair& y);
vpair* vpair_list;
vpair_list = new vpair[25];
..
sort(vpair_list, vpair_list+j);
.
오브젝트 vpair
에는 두 가지 속성이 있기 때문에 그 정렬 작업 방식을 이해할 수 없습니다.
각 속성 (vid
및 vlabel
)을 비교하는 것과 같은 정렬 작업이나 .... 내가 생각한 것은 특정 필드 나 특성 (여기서는 vid
또는 vlabel
)을 비교하여 정렬을 수행해야한다고 생각한 것입니다.
그러나이 코드는 그와 관련이 없으며 전체 개체를 비교하는 것처럼 보입니다. 누군가 그게 어떻게 작동하는지 말해 줄 수 있니?
미리 감사드립니다.
정렬은 연산자를 호출하여 수행됩니다. 선언했지만 아직 정의하지 않았습니다. –
그것은'operator <'를 사용합니다, 그러나 구현됩니다 ... – Yuushi
정말 고마워요. 그러나 내가 의미하는 바는 '연산자 <'가 어느 분야인지 비교하는 것입니다. vid 및 vlabel을 모두 비교합니까? 그렇다면 (vpair_list [0] .vid vpair_list [1] .vlabel)은 어떻게됩니까? 어떻게 분류 될 것인가? –
WonKook