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 + -
显示快捷键?