红联Linux门户
Linux帮助

链式队列的基本操作的c程序的简单例子

发布时间:2012-02-01 17:52:32来源:红联作者:lijiang
[i=s] 本帖最后由 lijiang 于 2012-2-2 15:26 编辑 [/i]

#include"stdio.h"

struct qnode
{
int data;
struct qnode *next;
};

typedef struct
{
struct qnode *front ,*rear;
}linkqueue;

void initqueue(linkqueue *q)
{
q->front =(struct qnode *)malloc(sizeof(struct qnode));
q->rear=q->front ;
q->front->next=NULL;
}

void enqueue(linkqueue *q,int x)
{
struct qnode *s;
s=(struct qnode*)malloc(sizeof(struct qnode));
s->data=x;
s->next=NULL;
q->rear->next=s;
q->rear=s;
}

int delqueue(linkqueue *q)

{ struct qnode *p;
if(q->front==q->rear)
printf("the queue is empty!\n");
else
{
p=q->front;
q->front=q->front->next;
free(p);
return (q->front->data);
}
}
main()
{
linkqueue *qq;int i;
char a[]={"i love you"};
char b[11];
initqueue(qq);
for(i=0;i<11;i++)
{enqueue(qq,a[i]);
b[i]=delqueue(qq);
printf("%c",b[i]);
}
}
文章评论

共有 3 条评论

  1. lijiang 于 2012-02-02 15:24:17发表:

    3# pl_014
    就是用的链表方式表示队列的数据结构就是队列的链式存储结构

  2. pl_014 于 2012-02-02 07:33:33发表:

    链表吗?楼主是什么意思?

  3. Haocn 于 2012-02-01 21:27:02发表:

    哎,看不懂滴说