드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
게시물ID : computer_6120짧은주소 복사하기
작성자 : 씐난다★
추천 : 0
조회수 : 428회
댓글수 : 7개
등록시간 : 2011/05/09 01:37:00
복습하려고 보는데 ㅠㅠ 시험끈나니까 다 까먹어 버렸어요
이해가 안됨...특히 addq하고 delq sizeq...
rear이 들어오는부분 front가 나오는부분인것만 알겠네요 ㅜㅜ
NEXT(rear)==front이게 무슨말이죠 다음에 들어오는부분이 나가는 부분이랑 같으면 에러?? 이해가안됭미
또하나 의문점은 분명 0으로 초기화됬는데 addq에서 rear=NEXT(rear); 이게 나와서 queue[0]부터가 아니라
queue[1]부터시작?
또 rear다음에 ++연산자 붙여줘야되는거아닌가요?
delq할때도 --연산자도 없고..
#include "queue.h"
#include "macro.h"
#define MAXQUEUE 100
#define NEXT(x) ((x+1)%MAXQUEUE)
int queue[MAXQUEUE];
int rear,front;
void initq(){
rear=0;
front=0;
}
int addq(int element){
if(NEXT(rear)==front) return ERROR;
rear=NEXT(rear);
queue[rear]=element;
return OK;
}
int emptyq(){
if(front==rear) return TRUE;
return FALSE;
}
int delq(){
front=NEXT(front);
return queue[front];
}
int sizeq(){
return ((front-rear)+MAXQUEUE)%MAXQUEUE;
}
오유괴수님들의 친절한 댓글 부탁드려요
댓글 분란 또는 분쟁 때문에
전체 댓글이 블라인드 처리되었습니다.
새로운 댓글이 없습니다.