首页 > 学院 > 开发设计 > 正文

队列的链式存储结构

2019-11-10 18:20:27
字体:
来源:转载
供稿:网友
/*    IDE: Dev-C++ 5.11    GCC-version: 4.9.2 64-bit*/#include <stdio.h>#include <malloc.h>typedef int sElemType;typedef struct node {	sElemType e;	node* next;} NODE;typedef struct queue {	int lenght;	NODE* front;	NODE* rear;} queue;NODE* create_node(sElemType e) {	NODE* n = (NODE*) malloc(sizeof(NODE));	n->e = e;	n->next = NULL;}void init_queue(queue* q, sElemType num) {	q->lenght = 0;	q->front = create_node(num);	q->front->next = create_node(num);	q->rear = q->front->next;}void in_queue(queue* q, sElemType e) {	q->lenght++;	q->rear->e = e;	q->rear->next = create_node(0);	q->rear = q->rear->next;}bool out_queue(queue* q, sElemType* e) {	if (q->front == q->rear) {		return false;	}	q->lenght--;	*e = q->front->e;	NODE* p = q->front;	q->front = q->front->next;	free(p);	return true;}int main() {	queue* q = (queue*) malloc(sizeof(queue));	init_queue(q, 0);	in_queue(q, 1);	in_queue(q, 2);	in_queue(q, 3);	q->front = q->front->next;		PRintf("%d/n", q->lenght);    sElemType e;	while (out_queue(q, &e)) {	    printf("%d ", e);	}	return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表