首页 > 代码库 > 链队列-C语言版

链队列-C语言版

源文件部分:  指针没学好的同学很难看懂^_^,有点乱,希望对大家有点帮助。
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<string.h>
typedef int Elemtype;
#include"LQueue.h"
int main()
{
	Deque head;
	instruction(head);
	return 0;
}
头文件部分:
typedef struct Queue
{
	Elemtype data;
	struct Queue *next;
}LQnode,*LQueue;

typedef struct
{
	LQnode *front;
	LQnode *rear;
}Deque;

void Init_queue(Deque *head)    //初始化+清空操作==其实这里的清空是指将头节点后的节点给丢弃掉  
{
	LQnode *p=NULL;
	p=(LQueue)malloc(sizeof(LQnode));
	head->front=p;
	head->rear=p;		
	p->next=NULL;
}

int Empty_queue(Deque *head)           //判空
{
	if(head->front->next==head->rear->next)
		return 1;
	return 0;
}

int Lenght_queue(Deque arrow)
{
	LQnode *p=NULL;
	int len=0;
	p=arrow.front->next;
	while(p)
	{
		len++;
		p=p->next;
	}
	return len;
}

void Enqueue(Deque *arrow,Elemtype e)       //入队操作
{
	LQueue p=NULL;
	p=(LQueue)malloc(sizeof(LQnode));
	if(!p)
	{
		printf("已无更多的内存单元得到分配!\n");
		return ;
	}
	p->data=http://www.mamicode.com/e;>

链队列-C语言版