欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据结构c语言链队

程序员文章站 2022-04-15 19:29:11
//---------单链队-队列的链式存储------------ #include #include typedef int qelemtype; typedef struct qn...
//---------单链队-队列的链式存储------------
#include
#include
typedef int qelemtype;
typedef struct qnode {
  
	qelemtype data;
    struct qnode *next;

}qnode,*queueptr;

typedef struct {
   
	queueptr front ;
	queueptr rear;

}linkqueue;

int initqueue(linkqueue q) {

	q.front=q.rear=(queueptr)malloc(sizeof(qnode));
	if(!q.front)  exit(0);
	q.front->next=null;
	return 1;
}

int destoryqueue(linkqueue &q) {

	while(q.front)
	{
		q.rear=q.front->next;
		free(q.front);
		q.front=q.rear;
	}
	return 1;
}

int enqueue(linkqueue &q,qelemtype e) {
   
   queueptr p;   
   p=(queueptr)malloc(sizeof(qnode));  
   if(!p) exit(0);   
   p->data=e;p->next=null;  
   q.rear->next=p;  
   q.rear=p; 
   return 1;
}

int dequeue(linkqueue &q,qelemtype &e){
    
	queueptr p;
    if(q.front==q.rear)  return 0;
	p=q.front->next;
	e=p->data;
	q.front->next=p->next;
	if(q.front==p)  q.rear=q.front;
	free(p);
	return 1;
}

void main()
{
	linkqueue q;
	qelemtype e;
	initqueue(q);
	enqueue(q,1);
	enqueue(q,1);
	dequeue(q,e);
}