链队(vc6.0成功编译的)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define maxsize 100
typedef struct node1
{
char data;
struct node1 *next;
}LINKQLIST;
typedef struct
{
LINKQLIST *front;
LINKQLIST *rear;
}production;//生产
void initlinkqueuep(production *q)//初始化
{
q->front=(LINKQLIST *)malloc(sizeof(LINKQLIST));
(q->front)->next=NULL;
q->rear=q->front;
}
char getlinkfrnetp(production *q)//数据读取
{
char v;
if(q->front==q->rear)//判断队列是否为空
printf("没有生产计划\n");
else
{
v=(q->front)->next->data;//将队首元素赋值给V
q->front=(q->front)->next;
}
return v;
}
void enlinkqueuep(production *q,char x)//插入数据
{
(q->rear)->next =(LINKQLIST *)malloc(sizeof(LINKQLIST));//给元素创建存储空间
q->rear=(q->rear)->next;
//将为节点传给下一个
q->rear->data=x;
//将值存入节点中
(q->rear)->next=NULL;
}
void main()//这个主函数的功能是
初始化队列===》将一组数据存入队列中===》输出队列中的数据
{
production q;
int i,j,k=0;
char ch;
initlinkqueuep(&q);//初始化
while((ch=getchar())!='\n')
{
enlinkqueuep(&q,ch);
k++;
}
for(j=0;j<k;j++)
{
printf("%c",getlinkfrnetp(&q));//输出队首元素
}
}