| #include <stdio.h> #include <stdlib.h> typedef struct _node {     int data;     struct _node *link; }_node; typedef struct _queue {     _node *front;     _node *rear; }_queue; void init(_queue *q) {     q->front = q->rear = NULL; } int is_empty(_queue *q) {     return (q->front == NULL); } void enqueue(_queue *q, int data) {     _node *temp;     temp = (_node *)malloc(sizeof(_node));     temp->data = data;     temp->link = NULL;     if (is_empty(q))     {         q->front = temp;         q->rear = temp;     }     else     {         q->rear->link = temp;         q->rear = temp;     }         } int dequeue(_queue *q) {     int item;     _node *temp;     temp = q->front;     if (is_empty(q))     {         printf("empty!\n");         return NULL;     }     else     {         item = temp->data;         q->front = q->front->link;         if (q->front == NULL)             q->rear = NULL;         free(temp);         return item;     } } void main() {     int i;     _queue q;     init(&q);     for (i = 1; i <= 5; i++)     {         enqueue(&q, i);     }     for (i = 1; i <= 6; i++)     {         printf("dequeue : %d \n", dequeue(&q));     } } | cs | 
'NOTE > Algorithm' 카테고리의 다른 글
| 자료구조) Graph (0) | 2015.08.25 | 
|---|---|
| 자료구조) QuickSort (0) | 2015.08.25 | 
| 자료구조) linked_stack (0) | 2015.08.25 | 
| dovelet) maze 최단 거리 미로 (0) | 2015.08.25 | 
| uva_10074) Take the Land (0) | 2015.08.21 |