간단한 배열 선형 큐 출력문제
리라
큐를 삽입삭제및 출력하는 프로그램을 짜 봤는데
삽입하고 출력시 계속 0 하나만 출력되네요
근데 크기를 5로잡고 삽입을 5번하면 크기는 다 차요
출력부분 문제같은데 문제를 못찾고있어요#includestdio.h
#define MAX 5
int front=-1;
int rear=-1;
int Queue[MAX];
void Enqueue(int item) //삽입
{
if(rear=4)
printf(Queue is full\n);
else
Queue[++rear] = item; // rear값 선 증가후 item 저장
}int Dequeue() //삭제
{
if(rear==front)
printf(Queue is empty\n);
else
return Queue[++front]; // front값 선 증가후 반환
}void printQ() // 출력부
{
int i;
printf(Queue:[);
for(i=front+1; i=rear; i++);
printf(%3d, Queue[i]);
printf(]\n);
}void main(void) // 메인부
{
int i;Enqueue(5);
printQ();
Enqueue(22);
printQ();
Enqueue(5);
printQ();
Enqueue(22);
printQ();
Enqueue(5);
printQ();
Enqueue(22);
printQ();
}
-
초록이
그저 \된다\에 만족하실려면 그냥 쓰셔도 됩니다 ^^
-
PrinceSs
1. 큐 배열 변수 초기화하세요.
2. 인덱스 지정부분[]에서 ++, --따위의 연산은 아주 안좋은 코딩습관입니다.
3. 카운트변수(front, rear)는 그 과정이 확실히 처리되었을때 가감해야 이후 발생할 알수없는 오류를 방지할 수 있습니다.