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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#include<limits.h>
#pragma warning(disable: 4996)
 
#define SSIZE 5
#define QSIZE 5
int queue[QSIZE];
int front, rear;
 
void init_queue(void)
{
    front = rear = 0;
}
 
void put(int data)
{
    if ((rear + 1) % QSIZE == front)
    {
        puts("overflow");
        system("cls");
        return -1;
    }
    queue[rear] = data;
    rear = ++rear % QSIZE;
}
 
int get(void)
{
    if (rear == front)
    {
 
        puts("underflow");
        system("cls");
        return -1;
 
    }
    int save = queue[front];
    front = ++front % QSIZE;
    return save;
}
 
 
void print_queue()
{
    int dx;
    for (dx = front; dx != rear; dx = (++dx) % QSIZE)
    {
        printf("[%d]\t"queue[dx]);
    }
}
 
void disp_queue()
{
    int i;
    for (i = 0; i < QSIZE; i++)
    {
        printf("[%d]\t"queue[i]);
    }
    puts("");
    for (i = 0; i < front; i++)
    {
        printf("\t");
    }
    printf("F\n");
    printf("F 값 %d\n"front);
    for (i = 0; i < rear; i++)
    {
        printf("\t");
    }
    printf("R\n");
    printf("R 값 %d\n", rear);
    printf("======================================================\n\n\n");
}
 
int main()
{
    /*
 
    1.init 2.put 3.get 4.clear //f==r 0.exit
 
    */
 
    int q;
 
    srand(time(NULL));
    int random;
    while (1)
    {
        printf("-------------------------------------------------------------\n");
        printf("1.INIT\t2.PUT\t3.GET\t4.CLEAR\t0.EXIT\n");
        scanf("%d"&q);
        printf("\n");
        fflush(stdin);
        switch (q)
        {
        case 0return -1;
        case 1:
            init_queue();
            disp_queue();
            break;
        case 2:
            random = rand() % 8 + 1;
            printf("======================================================\n");
            put(random);
            disp_queue();
            break;
        case 3printf("get으로 추출한 값 : %d\n", get()); disp_queue();  break;
        case 4front = rear;
            disp_queue();
        default:
            break;
        }
    }
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none; color:white">cs

+ Recent posts