1 / 11
文档名称:

数据结构实验报告二(栈、队列与杨辉三角).docx

格式:docx   大小:3,359KB   页数:11页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

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

分享

预览

数据结构实验报告二(栈、队列与杨辉三角).docx

上传人:HShess 2022/3/20 文件大小:3.28 MB

下载得到文件列表

数据结构实验报告二(栈、队列与杨辉三角).docx

相关文档

文档介绍

文档介绍:数据结构实验报告二(栈、队列与杨辉三角)
《数据结构》
实验报告
项目名称 栈、队列与杨辉三角
专业班级 软件工程工)队列

******************************************
#ifndef LINKEDLIST_H
#define LINKEDLIST_H
#include<stdexcept>
using namespace std;
template<typename T>class Queue;//前视定义,否则无法友元
template<typename T>
class Node
{
public :
T element;//节点数据域
Node<T> *next;//指向下指针
Node()
{
next = NULL;
}
Node(T element)
{
this -> element = element;
next = NULL;
}
};
template<typename T>
class LinkedList
{
public:
LinkedList();
T removeFirst();//移除并返回表头元素
void addLast(T element);//尾端插入新元素
int getSize();//获取表的大小
private:
Node<T> *head, *tail;//定义头节点、尾节点
int size;
};
template<typename T>
LinkedList<T>::LinkedList()//初始化链表NULL
{
head = tail = NULL;
size = 0;
}
template<typename T>
void LinkedList<T>::addLast(T element)
{
if(tail == NULL)
{
head = tail = new Node<T>(element);
}
else
{
tail ->next = new Node<T>(element);
tail = tail ->next;
}
size++;//作添加工作,size++
}
template<typename T>
T LinkedList<T>::removeFirst()
{
if(size == 0)
throw runtime_error("No elements");//抛出异常情况
else
{
//删除并返回头节点元素,把下一节点作为新的头节点
Node<T> *temp = head;
head = head ->next;
if(head == NULL)tail = NULL;
size--;//作删除工作,size--
T element = temp ->element;
delete temp;
return element;
}
}
template<typename T>
int LinkedList<T>::getSize()//返回size
{
return size;
}
#endif
****************************************

***********************************
#ifndef QUEUE_H
#define QUEUE_H
#include""
#include<stdexcept>
using namespace std;
template<typename T>
class Queue
{
public:
Queue();
void enQueue(T element);//元素入队
T deQueue();//元素出对,如果没有元素,抛出异常
int getSize();//获取队列大小
private:
LinkedList<T> list;//定义表
};
template<typename T>
Queue<T>::Queue(){}//空的构造函数
template<typename T>
void Queue<