queue3.c
来自「自己做的常用库和实现的数据结构。public domain.」· C语言 代码 · 共 50 行
C
50 行
/* 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 + =
减小字号Ctrl + -
显示快捷键?