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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | typedef enum {false,true} bool; typedef int Data; typedef struct _Node{ Data item; struct _Node* next; }Node; typedef struct{ Node* front; Node* rear; }DQueue; void InitQueue(DQueue *pqueue){ pqueue->front = pqueue->rear = NULL; } bool IsEmpty(DQueue *pqueue){ return pqueue->front == NULL; } Data Peek(DQueue *pqueue){ if(IsEmpty(pqueue)) exit(1); return pqueue->front->item; } void EnQueue(DQueue *pqueue,Data item){ Node* newNode = (Node*)malloc(sizeof(Node)); newNode->item = item; if(IsEmpty(pqueue)) pqueue->front = pqueue->rear = newNode; else{ pqueue->rear->next = newNode; pqueue->rear = newNode; } } void DeQueue(DQueue *pqueue){ Node* temp; if(IsEmpty(pqueue)) exit(1); temp = pqueue->front; if(temp->next == NULL) pqueue->front = pqueue->rear = NULL; else pqueue->front = temp->next; free(temp); } | cs |
'[자료구조론] - Data Structure > [Concept]' 카테고리의 다른 글
Tree 구현 (0) | 2020.10.27 |
---|---|
Questions regarding Data Structures (0) | 2020.10.19 |
Dynamic Stack (Using Linked List) (0) | 2020.10.19 |
DoubleLinkedList (0) | 2020.10.19 |
CircularList (0) | 2020.10.19 |