用数组实现队列(C实现)

main.c

#include 

#define MAX_SIZE 10

int queue[MAX_SIZE];

int rear = -1;
int front = -1;

int InQueue(int value)
{
	if(rear >= MAX_SIZE-1)
		return 0;
	rear ++;
	queue[rear] = value;
	return 1;
}

int OutQueue(int *value)
{
	if(front == rear)
		return 0;
	front ++;
	*value = queue[front];
	return 1;
}

void main()
{
	int temp;

	while(1)
	{
		printf("1:存取;2:读取;=》:");
		scanf("%d",&temp);
		fflush(stdin);
		if(temp == 1)
		{
			printf("请输入要存入的值:");
			scanf("%d",&temp);
			fflush(stdin);
			if(InQueue(temp) == 1)
				printf("插入队列成功\n");
			else
				printf("队列已满\n");
		}else if(temp == 2)
		{
			if(OutQueue(&temp))
			{
				printf("读取队列的值为:%d\n",temp);
			}else
				printf("队列为空\n");
		}else
			break;
	}
}

VC6运行效果图

用数组实现队列(C实现)_第1张图片

你可能感兴趣的:(数据结构)