main.c
#include <stdio.h>
#include <stdlib.h>
typedef struct _queue_node
{
int data;
struct _queue_node * next;
}QUEUE;
QUEUE * rear = NULL;
QUEUE * front = NULL;
int InQueue(int value)
{
QUEUE *q = (QUEUE *)malloc(sizeof(QUEUE));
if(q == NULL) return 0;
q->data = value;
q->next = NULL;
if(front == NULL)
front = q;
else
rear->next = q;
rear = q;
return 1;
}
int OutQueue(int *value)
{
QUEUE * p = NULL;
if(front == NULL)
return 0;
p = front;
front = front->next;
*value = p->data;
free(p);
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运行效果图
*只要有内存就可以无限的存下去