0
Dijkstra 알고리즘의 해당 부분을 이해할 수 없습니다. 이 코드 부분을 한 줄씩 이해하고 싶습니다.누구든지 Dijkstra 알고리즘 코드 부분을 설명해주십시오.
코드 :
bool operator < (const DATA &p) const { return p.dist > dist; }
나는 C/C++ 코드의 기본 지식을 가지고.
Dijkstra 알고리즘의 해당 부분을 이해할 수 없습니다. 이 코드 부분을 한 줄씩 이해하고 싶습니다.누구든지 Dijkstra 알고리즘 코드 부분을 설명해주십시오.
코드 :
bool operator < (const DATA &p) const { return p.dist > dist; }
나는 C/C++ 코드의 기본 지식을 가지고.
bool operator < (const DATA &p) const {
return p.dist > dist;
}
이 값은 <
연산자 오버로딩보다 작습니다.
const
이 접두사 인 DATA &p
이 전달됩니다. 즉 p
은 참조로 전달되며 해당 함수 내에서 수정하거나 변경할 수 없습니다.
const {
으로 시작하는 함수는 메소드 내에 쓰기/수정 작업이 없음을 의미합니다.
p.dist > dist
수단이 기준을 따를 두 Data
사이 비교 priority_queue
로 누른 후 - Data
dist
가 dist
이상과 Data
보다 우선 순위 큐에 먼저 등장한다 작은 갖는 경우. 이것은 상반되는 것처럼 들리지만, 이것은 priority_queue
이 기본적으로 최대 힙이므로 true입니다.
연산자 오버로드라고합니다. 이 함수는 코드에서'<'연산자를 오버로드하고이 함수는'a tilz0R