Work/C++ 3

구조체의 우선순위 큐 구현

실습 과제를 하다가 만나게 된 문제 int를 구조체인자로 가지는 구조체의 우선순위 큐 구현 그러니까 우선순위 큐는 int 타입으로 넣으면 그 숫자의 오름차순 혹은 내림차순에 따라 차럐대로 정렬해 준다. 그런데, 어떤 번호를 가지는 사람들을 우선순위 큐에 넣어서 순서대로 출력하려면 어떻게 하면될까? typedef struct Custom{ string name; int level; }; 이런 구조체를 만들어서 priority_queue CustomPQ; 라고 선언을 하면 우선순위큐가 정의되지 않는다. 구조체의 어떤것을 비교해서 정렬해야 할지 모르기 때문이다. 그래서 이런 구조체를 우선순위큐에 사용하려면 어떻게 해야하나 구글 검색을 해 보니! 아래처럼 우선순위 큐 선언시 세번째 인자 즉 비교부분을 직접 정의..

Work/C++ 2010.11.19

list 자료형

shuffle 과제를 하면서 알게 된 list 자료형 slice를 이용해서 연결도 쉽다 분명 int 형식의 count를 선언해 주었는데, 어떤 함수 내에서 count 가 선언이 안 되었다고 자꾸 나오던데 이 문제는 count 가 기존에 존재하는 변수명으로 쓸 수 없는, 다른 함수로 이미 쓰이고 있어서 그런 듯 했다. 그리고, list의 iterator 를 지정한 후에 그 iterator 값을 erase를 이욯애서 삭제를 하면 그 iterator 는 무효화가 된다. 따라서 erase(it) 한 후에 it++; 하면 여기서 it 는 값이 없는 상태가 되는 것이다. 이 점에 유의하자

Work/C++ 2010.11.03