1 / 8
文档名称:

链队列实验报告解读.doc

格式:doc   大小:148KB   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

链队列实验报告解读.doc

上传人:用户头像没有 2017/5/12 文件大小:148 KB

下载得到文件列表

链队列实验报告解读.doc

文档介绍

文档介绍:数据结构与算法实验院别: 计算机科学与信息工程学院年级专业: 2014 级空间信息与数字技术姓名: 杨哲庆学号: 1420012138 评语和成绩: 201 5年 10月实验 3 链队列实验 链队列 实验的主要内容和目的①掌握队列的链式存储结构; ②验证链队列的存储结构和基本操作的实现; ③验证链队列的操作特性; ④掌握链队列的一些基本应用。 代码 #if !defined(AFX_LINKQUEUE_H__FC16C47E_48CA_420B_8C0D_216DBF48A867__INCLUDED_) #define AFX_LINKQUEUE_H__FC16C47E_48CA_420B_8C0D_216DBF48A867__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 /*-------------- 一定义链队列的结点-------------*/ template<class T> struct Node { Node<T>* next; T data; }; /*-------------- 一声明链队列类 LinkQueue---------------*/ template<class T> class LinkQueue { public: LinkQueue(); // 默认构造函数 LinkQueue(T a[],int n); // 将数组存入队列中 virtual ~LinkQueue(); // 析构函数 void EnQueue(T x); // 将元素 x 入队 T DeQueue(); // 将队头元素出队 T GetQueueFront(); // 取链队列的头元素 bool IsEmpty(); // 判断是否为空 void ShowQueue(); // 输出队列中的所有元素 private: Node<T>* front,*rear; // 创建队头和队尾指针}; #endif #include "" // 引用 LinkQueue 的声明#include<iostream> // 引入输入输出流 template<class T> LinkQueue<T>::LinkQueue() { Node<T>* s=NULL; s=new Node<T>; s->next=NULL; front=rear=s; } template<class T> LinkQueue<T>::LinkQueue(T a[],int n) { Node<T>* p; p=new Node<T>; p->next=NULL; front=rear=p; for(int i=0;i<n;i++) { p=new Node<T>; p->data=a[i]; p->next=NULL; rear->next=p; rear=p; }} template<class T> LinkQueue<T>::~LinkQueue() { Node<T>* p=NULL; while(front!=NULL) { p=front->next; delete