자료구조-만족성 힙정렬
- 최초 등록일
- 2010.06.13
- 최종 저작일
- 2009.06
- 11페이지/ 한컴오피스
- 가격 1,000원
목차
1. 문제정의
2. 추가 구현 사항
3. 알고리즘
4. 소스
5. 결과화면
6. 느낀 점
본문내용
◆ 문제정의:
만족성 수식을 입력받아 계산하는 프로그램을 작성하라. 다음 조건을 만족하라.
- 입력을 후위식으로 받는다.
- 리스트로 형성한 트리를 사용하도록 한다.
◆ 추가 구현 사항:
- 참 거짓을 입력받을 때 대소문자를 구분하지 않습니다.
- 입력 시 기본 오류검출
- 입력 시 처음 글자를 보고 수식의 적합성을 검사합니다.
<중 략>
template <class T> class MaxPQueue{
private:
T* PQueue;
int top;
int capacity;
public:
MaxPQueue<T> (int size = 100);
//size 크기의 최대 우선순위 큐를 생성합니다.
~MaxPQueue<T>();
bool IsEmpty() {return top == 0;}
//큐가 비어있는지 알려줍니다.
bool IsFull() {return top == capacity - 1;}
//큐가 가득 찼는지 알려줍니다.
void Push(T data);
//큐에 데이터를 추가합니다.
T Pop();
//큐에서 우선순위가 가장 높은 데이터를 가져옵니다.
int getTop() {return top;}
//현재 큐에 저장된 데이터의 (개수-1)을 반환합니다.
int getCapacity() {return capacity;}
//현재 큐 배열의 용량을 알려줍니다.
};
# endif
//MaxPQueue.cpp
# include "MaxPQueue.h"
template <class T> MaxPQueue<T>::MaxPQueue<T> (int size /* = 100 */){
PQueue = new T[(capacity = size) + 1];//0번 인덱스를 사용하지 않기 때문에 +1
if(!PQueue) throw "큐 생성에 실패했습니다.";
top = 0;//0번 인덱스를 사용하지 않기 때문에 0부터 시작
}
참고 자료
없음