μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
- κ°λ°μ
- νμ΄μ¬
- 리μ‘νΈ
- λ°±μ€νμ΄
- spring
- μ»΄ν¨ν°κ³΅ν
- μ€νλ§
- λ°±μ€1436
- μΉκ°λ°
- λͺ¨λ°μΌμ±νλ‘κ·Έλλ°
- μΉκ°λ°κΈ°λ‘
- 그리λμκ³ λ¦¬μ¦
- μ½λ©
- νλ‘κ·Έλλ°
- λ¨μν μ€νΈ
- μλ£κ΅¬μ‘°
- 리μ‘νΈλ€μ΄ν°λΈ
- μ΄νκ³μ
- 컴곡μ
- λ°±μ€
- SSE
- ChatGPT
- μ°μ μμν
- μ½λ©ν μ€νΈ
- 컴곡
- 그리λ
- νλ‘ νΈμ€λ
- μκ³ λ¦¬μ¦
- λ°±μλ
- boj11653
- Today
- Total
π»ππ§π
[C][μλ£κ΅¬μ‘°] 5.2 ν μμ© νλ‘κ·Έλ¨ λ³Έλ¬Έ
νμ μΌμ ν λΉμ¨(20%)λ‘ λμλ₯Ό μμ±νμ¬ νμ μ λ ₯νκ³ , μΌμ ν λΉμ¨(10%)λ‘ νμμ μ μλ₯Ό κΊΌλ΄λ νλ‘κ·Έλ¨μ μμ±ν΄λ³΄μ. μμ°μκ° μλΉμλ³΄λ€ λΉ λ₯΄λ―λ‘ νκ° ν¬ν μνκ° λ κ°λ₯μ±μ΄ λμμ§λ€.
1. time() ν¨μλ₯Ό μ¬μ©νκΈ° μν΄μλ time.h νμΌμ ν¬ν¨ν΄μΌν¨.
2. rand() % 5 == 0 -> 20/100 = 1/5 => 20%μ νλ₯
rand() % 10 == 0 -> 10/100 = 1/10 => 10%μ νλ₯
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//=====μνν μ½λ μμ=====
#define MAX_QUEUE_SIZE 5
typedef int element;
typedef struct { // ν νμ
element data[MAX_QUEUE_SIZE];
int front,rear;
}QueueType;
//μ€λ₯ ν¨μ
void error(char *message)
{
fprintf(stderr,"%s\n",message);
exit(1);
}
//곡백 μν κ²μΆ ν¨μ
void init_queue(QueueType *q)
{
q->front = q->rear = 0;
}
//곡백 μν κ²μΆ ν¨μ
int is_empty(QueueType *q)
{
return(q->front == q->rear);
}
//ν¬ν μν κ²μΆ ν¨μ
int is_full(QueueType *q)
{
return((q->rear+1)%MAX_QUEUE_SIZE==q->front);
}
//μνν μΆλ ₯ ν¨μ
void queue_print(QueueType *q)
{
printf("QUEUE(front=%d rear=%d) =",q->front,q->rear);
if(!is_empty(q)){
int i=q->front;
do{
i = (i+1)%(MAX_QUEUE_SIZE);
printf("%d |",q->data[i]);
if(i==q->rear)
break;
}while(i!=q->front);
}
printf("\n");
}
//μ½μ
ν¨μ
void enqueue(QueueType *q,element item)
{
if(is_full(q))
error("νκ° ν¬νμνμ
λλ€");
q->rear = (q->rear +1)%MAX_QUEUE_SIZE;
q->data[q->rear] = item;
}
//μμ ν¨μ
element dequeue(QueueType *q)
{
if(is_empty(q))
error("νκ° κ³΅λ°±μνμ
λλ€");
q->front = (q->front+1)%MAX_QUEUE_SIZE;
return q->data[q->front];
}
//peek ν¨μ
element peek(QueueType *q)
{
if(is_empty(q))
error("νκ° κ³΅λ°±μνμ
λλ€");
return q->data[(q->front+1)%MAX_QUEUE_SIZE];
}
//======μνν μ½λ λ========
int main()
{
QueueType queue;
init_queue(&queue);
srand(time(NULL));
for (int i=0; i<100; i++)
{
if(rand()%5==0){ //5λ‘ λλμ΄ λ¨μ΄μ§λ©΄
enqueue(&queue, rand()%100);
}
queue_print(&queue);
if(rand()%10==0){ //10λ‘ λλμ΄ λ¨μ΄μ§λ©΄
int data = dequeue(&queue);
}
queue_print(&queue);
}
return 0;
}
κ²°κ³Όλ μ΄λ°μμΌλ‘ λμ¨λ€
QUEUE(front=0 rear=1) =91 |
QUEUE(front=0 rear=1) =91 |
QUEUE(front=0 rear=1) =91 |
QUEUE(front=0 rear=1) =91 |
QUEUE(front=0 rear=1) =91 |
QUEUE(front=0 rear=1) =91 |
QUEUE(front=0 rear=2) =91 |31 |
QUEUE(front=1 rear=2) =31 |
QUEUE(front=1 rear=2) =31 |
QUEUE(front=2 rear=2) =
QUEUE(front=2 rear=2) =
QUEUE(front=2 rear=2) =
QUEUE(front=2 rear=2) =
QUEUE(front=2 rear=2) =
QUEUE(front=2 rear=2) =
QUEUE(front=2 rear=2) =
QUEUE(front=2 rear=3) =83 |
QUEUE(front=3 rear=3) =
QUEUE(front=3 rear=3) =
QUEUE(front=3 rear=3) =
QUEUE(front=3 rear=3) =
νκ° κ³΅λ°±μνμ λλ€
νλ₯ μ νκ° ν¬ν μνκ° λ κ°λ₯μ±μ΄ λλ€λλ° λ΄κ° λλ €λ΄€μλ 곡백 μνλ, ν¬ν μνλ λΉμ·νκ² λμ¨λ€...
'CμΈμ΄ > μλ£κ΅¬μ‘°' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[C][μλ£κ΅¬μ‘°] μν (0) | 2022.01.05 |
---|