게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
씐나는 자료구조 QUEUE 질문~
게시물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;
}
오유괴수님들의 친절한 댓글 부탁드려요
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호