티스토리 뷰

c언어/자료구조

[자료구조]원형 큐 구현

삼전동해커 2021. 2. 11. 22:27
#include<stdio.h>
#include<stdlib.h>

#define LEN 100
typedef int Data;

typedef struct _cQueue{
    int front;
    int rear;
    Data queArr[LEN];
}CQueue;

typedef CQueue Queue;


void QueueInit(Queue *pq){
    pq->front = 0;
    pq->rear = 0;
}

int QIsEmpty(Queue * pq){
    if(pq->front == pq->rear)
        return 1;
    else return 0;
}

int NextPosIdx(int pos){
    if(pos == LEN - 1)
        return 0;
    else
        return pos+1;
}

void Enqueue(Queue *pq,Data data){
    if(NextPosIdx(pq->rear) == pq->front)){
        printf("Queue Memory Error");
        exit(0);
    }
    pq->rear = NextPosIdx(pq->rear);
    pq->queArr[pq->rear]=data;
}

Data Dequeue(Queue * pq){
    if(QIsEmpty(pq)){
        printf("Queue memory error");
        exit(0);
    }
    pq->front = NextPosIdx(pq->front);
    return pq->queArr[pq->front];
}

Data Qpeek(Queue * pq){
    if(QIsEmpty(pq)){
        printf("Queue memory error");
        exit(0);
    }
    return pq->queArr[NextPosIdx(pq->front)];
}

'c언어 > 자료구조' 카테고리의 다른 글

지수 탐색 알고리즘  (0) 2021.07.08
이동 평균 구하기  (0) 2021.07.07
[자료구조]병합 정렬  (0) 2021.02.08
[자료구조]퀵 정렬 구현  (0) 2021.02.08
[자료구조]힙을 이용한 정렬  (0) 2021.02.08
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함