《实验5队列的实现》由会员分享,可在线阅读,更多相关《实验5队列的实现(5页珍藏版)》请在金锄头文库上搜索。
1、实验 5 队列基本操作的实现【实验目的】1、 熟练掌握顺序队、链队的存储原理;2、 熟练掌握顺序队、链队的 C 语言实现方法;3、 掌握队列空、栈满的判断条件;4、 了解循环队列与普通队列实现上的不同及其解决方法。【实验内容】1、 编程实现 26 个英文字母的顺序队和链队存储;2、 要求先把“AZ”26 个英文字母入队,然后让所有字母出队;3、 要求采用结构化编程,用 init( )函数实现队列的初始化,用 EnQueue( )函数实现入队,用 OutQueue( )函数实现出队,build( )函数建立队列,display( )函数显示队列。【C 源程序】/* 顺序队的操作: 26 个英文字
2、母入队,出队。*/#include stdio.h#include stdlib.htypedef struct sqqueue char *base;int front,rear ;int maxsize;SqQueue;int n;SqQueue myQueue;int init(SqQueue *q)请自己填写int EnQueue(char x)请自己填写char OutQueue( )请自己填写int build( )请自己填写void display( ) 请自己填写void main()n=26;if(init(&myQueue)=0)printf(队列初始化失败!n);exit
3、(0);elseif(build( )display( ); /* 链队的操作: 26 个英文字母入队,出队。*/#include stdio.h#include stdlib.h#define NULL 0typedef struct qnodechar data;struct qnode* next;QNODE;QNODE *front,*rear,*p;int m=sizeof(QNODE);int n;int init( )p=(QNODE *)malloc(m); /* 生成头结点 */if(p)front=p;rear=p;p-next=NULL;return(1);else return(0);int EnQueue(char x)请自己填写char OutQueue( )请自己填写int build( )请自己填写void display( ) 请自己填写void main()n=26;if(init()=0)printf(队列初始化失败!n);exit(0);elseif(build( )display( );【实验结果】