목차
1 큐의 프로그램 소소코드/설명
2. 큐의 이론/설명
2_1. 큐의 정의
2_2. 큐의 원리
2-3. 큐의 성질
2-4. 큐의 동작 용어설명
2-5. 큐의 구현
2. 큐의 이론/설명
2_1. 큐의 정의
2_2. 큐의 원리
2-3. 큐의 성질
2-4. 큐의 동작 용어설명
2-5. 큐의 구현
본문내용
Queue에 x을 삽입하는 알고리즘
// Queue : 최대 크기가 MaxSize인 배열
// MaxSize : 큐의 크기
// Rear : 큐에 마지막으로 삽입된 원소의 위치를 가리킨다.
// x : 큐에 삽입할 자료
template
void Queue::Add(const KeyType& x)
// Queue에 x를 삽입
{
if(IsFull()) QueueFull(); // Queue 가 Full 상태인가?
else Queue[++Rear]=x; // Queue 가 Full 상태가 아니면
Real 포인트 1증가 시킴
증가되 Real 포인트에 x 자료 삽입
}
< 자료의 삭제 >
- 현재 Front 포인터에 1증가시킨 위치에 있는 자료를 삭제
- 먼저 Front 포인터를 1증가시킴 그리고 Front 포인터가 가리키는 자료를 삭제
- 삭제 알고리즘
// Queue에 x을 삭제하는 알고리즘
// Queue : 최대 크기가 MaxSize인 배열
// MaxSize : 큐의 크기
// Front : 큐에서 자료를 삭제할 위치보다 1작은 위치를 지정한다.
// x : 큐에 삽입할 자료
template
KeyType* Queue::Delete(const KeyType& x)
// Queue에 x를 삭제
{
if(IsEmpty()) { QueueEmpty(); return 0; } //Queue가 Empty상태이면 종료
x = queue[++Front]; //Queue가 Empty가 아니면
Front 포인트 1증가 시킴,
Front 포인트가 가리키는 곳의 자료를 삭제 함
< 큐의 front, rear 내용 조사 >
- 큐의 Full()과 Empty()상태의 구현
- 큐가 Full인 경우
template
inline boolean Queue::IsFull()
{
if(rear==MaxSize-1)return TRUE; //Queue가 Full인 경우
else return FALSE;
}
- 큐가 Empty인 경우
template
inline Boolean Queue::IsEmpty()
{
if(front==rear)return TRUE; //Queue가 Empty인 경우
else return FALSE;
}
// Queue : 최대 크기가 MaxSize인 배열
// MaxSize : 큐의 크기
// Rear : 큐에 마지막으로 삽입된 원소의 위치를 가리킨다.
// x : 큐에 삽입할 자료
template
void Queue
// Queue에 x를 삽입
{
if(IsFull()) QueueFull(); // Queue 가 Full 상태인가?
else Queue[++Rear]=x; // Queue 가 Full 상태가 아니면
Real 포인트 1증가 시킴
증가되 Real 포인트에 x 자료 삽입
}
< 자료의 삭제 >
- 현재 Front 포인터에 1증가시킨 위치에 있는 자료를 삭제
- 먼저 Front 포인터를 1증가시킴 그리고 Front 포인터가 가리키는 자료를 삭제
- 삭제 알고리즘
// Queue에 x을 삭제하는 알고리즘
// Queue : 최대 크기가 MaxSize인 배열
// MaxSize : 큐의 크기
// Front : 큐에서 자료를 삭제할 위치보다 1작은 위치를 지정한다.
// x : 큐에 삽입할 자료
template
KeyType* Queue
// Queue에 x를 삭제
{
if(IsEmpty()) { QueueEmpty(); return 0; } //Queue가 Empty상태이면 종료
x = queue[++Front]; //Queue가 Empty가 아니면
Front 포인트 1증가 시킴,
Front 포인트가 가리키는 곳의 자료를 삭제 함
< 큐의 front, rear 내용 조사 >
- 큐의 Full()과 Empty()상태의 구현
- 큐가 Full인 경우
template
inline boolean Queue
{
if(rear==MaxSize-1)return TRUE; //Queue가 Full인 경우
else return FALSE;
}
- 큐가 Empty인 경우
template
inline Boolean Queue
{
if(front==rear)return TRUE; //Queue가 Empty인 경우
else return FALSE;
}
추천자료
- <안네의 일기> 조명디자인 및 프러덕션의 실제 - 디자이너의 노트북
- 아이큐(IQ)와 이큐( EQ) - 전문인과 창조적 사고
- 한국야구와 일본야구의 비교
- 다국적 광고회사
- 칠성사이다 경영전략
- 일본의 다도문화
- 부모교육
- Queuing Model(큐잉모델)을 이용한 Multiplex의 수요 예측 및 상영관 관리
- 뮤지컬 로미오와 줄리엣을 보고나서
- 영화로 보는 생명윤리
- 분리정제 membrane (결과)
- 2014년 2학기 자료구조 기말시험 핵심체크
- 2014년 2학기 자료구조 출석대체시험 핵심체크
- [한국사회문제4A]한국 교육에서 드러나고 있는 과도한 경쟁과 격차의 문제의 원인&사회문...