반응형
queue를 linked list를 이용하여 구현하면 중간에 데이터 삽입이 쉽다.
get 후에 insert?
#define MAX 50
int queue[MAX]; //Queue
int front = 0;
int rear=0; //Front , Rear
void put(int); //Data Put
int get();
void main(){
put(5);
put(10);
put(15);
put(20);
put(30);
checkQueue();
ret = get();
ret = get();
ret = get();
checkQueue();
ret = get();
ret = get();
checkQueue();
}
void put(int data){
queue[rear++] = data;
}
void get(){
int ret;
ret= queue[front++];
return ret;
}
void checkQueue(){
int i;
for(i=front; i<rear; i++){
printf("%2d-", queue[i]);
}
}
//overflow가 날 수 있으므로, Ring buffer 를 이용한 Queue
반응형