📄 queue3.c
字号:
/* Demo of simple loop queue, using array. * * Written by Cyril Hu (cyrilhu@gmail.com), public domain. */#include "my.h"#define MAX 13struct qnode { int elem;} a[MAX];void en_queue(struct qnode *a, int e, size_t max) { static size_t i = 0; i %= max; struct qnode *rear = a + i++; rear->elem = e;}void de_queue(struct qnode *a, int *e, size_t max){ static size_t i = 0; i %= max; struct qnode *front = a + i++; *e = front->elem;}int main(void){ int i,b[MAX]; for(i=0; i<(int)(MAX*0.8); i++) en_queue(a, i, MAX); puts(""); for(i=0; i<(int)(MAX*0.8); i++) printf("%2d ", a[i].elem); for(i=0; i<(int)(MAX*0.5); i++) de_queue(a, &b[i], MAX); puts(""); for(i=0; i<MAX; i++) printf("%2d ", b[i]); for(i=(int)(MAX * 0.8); i<(int)(MAX*0.8) + (int)(MAX*0.5); i++) en_queue(a, i, MAX); puts(""); for(i=0; i<MAX; i++) printf("%2d ", a[i].elem); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -