이런 것을 원하시는 건가요?
https://www.acmicpc.net/proble... 이 문제를 풀고 있었는데 순서가 정해진 상태여서 노드 번호(순서)를 기억해야 하고 값들은 단순히 참조에만 필요하지 값들 자체를 정렬할 필요는 없다고 생각해서 위와 같은 기능을 원했습니다. 물론 제 풀이가 맞는지도 사실 모르겠지만.. 그래도 알아놓으면 좋은 기능이라고 생각해서요. 또 말씀하신대로 구조체에 넣어놓고 쓰면 인덱스만 저장하는 것보단 메모리 사용량이 더 많아져서 조금이라도 더 좋은 기능을 원했는데, 사실 그렇다고 사용량이 무척 줄어드는것도 아니고 편의성까지 생각하면 말씀하신 방법도 좋다고 생각합니다.
댓글을 작성하려면 로그인해야 합니다.
hayman42 5년 전 1
c++ 이 편리하긴 하지만 제가 아직 초보고 다루기 어려운 부분들이 있다보니 질문드려요.
c++ 내장 자료구조인 priority queue 의 정렬 기준을 제가 정해서 쓰고 싶은데 어찌 쓸 수 있나요?
구글링 해보니 greater less 도 있고 연산자를 정의하는 방법도 있던데 이 방법으론 제가 원하는 기능이 안나오네요.
제가 원하는 기능은 어떤 배열 arr[100] 이 있다 하면 이 값들을 기준으로 인덱스들을 priority queue 에 저장하고 싶습니다.
pair 를 써도 될거 같긴 한데 그러면 메모리를 두배로 먹으니 딱히 쓰고싶지 않아서요..
또 추가 적인 질문으론 연산자를 정의한다는게 무슨 뜻인가요? < 라는 연산자를 뭐 bool operator< 로 시작하는 함수를 만들어서 정의를 하던데..
연산자 정의를 했다고 a < b 라는 연산이 있다고 치면 결과값이 완전히 달라지는 것은 아닐테니까요.