数据结构栈与队列的实验报告

合集下载

栈和队列的实验报告

栈和队列的实验报告

栈和队列的实验报告栈和队列的实验报告引言:栈和队列是计算机科学中常用的数据结构,它们在算法设计和程序开发中起着重要的作用。

本实验旨在通过实际操作和观察,深入理解栈和队列的概念、特点以及它们在实际应用中的作用。

一、栈的实验1.1 栈的定义和特点栈是一种具有特殊操作约束的线性数据结构,它的特点是“先进后出”(Last-In-First-Out,LIFO)。

栈的操作包括入栈(push)和出栈(pop),入栈操作将元素放入栈顶,出栈操作将栈顶元素移除。

1.2 实验步骤在本次实验中,我们使用编程语言实现了一个栈的数据结构,并进行了以下实验步骤:1.2.1 创建一个空栈1.2.2 向栈中依次压入若干元素1.2.3 查看栈顶元素1.2.4 弹出栈顶元素1.2.5 再次查看栈顶元素1.3 实验结果通过实验,我们观察到栈的特点:最后入栈的元素最先出栈。

在实验步骤1.2.2中,我们依次压入了元素A、B和C,栈顶元素为C。

在实验步骤1.2.4中,我们弹出了栈顶元素C,此时栈顶元素变为B。

二、队列的实验2.1 队列的定义和特点队列是一种具有特殊操作约束的线性数据结构,它的特点是“先进先出”(First-In-First-Out,FIFO)。

队列的操作包括入队(enqueue)和出队(dequeue),入队操作将元素放入队尾,出队操作将队头元素移除。

2.2 实验步骤在本次实验中,我们使用编程语言实现了一个队列的数据结构,并进行了以下实验步骤:2.2.1 创建一个空队列2.2.2 向队列中依次插入若干元素2.2.3 查看队头元素2.2.4 删除队头元素2.2.5 再次查看队头元素2.3 实验结果通过实验,我们观察到队列的特点:最先入队的元素最先出队。

在实验步骤2.2.2中,我们依次插入了元素X、Y和Z,队头元素为X。

在实验步骤2.2.4中,我们删除了队头元素X,此时队头元素变为Y。

三、栈和队列的应用栈和队列在实际应用中有广泛的应用场景,下面简要介绍一些常见的应用:3.1 栈的应用3.1.1 表达式求值:通过栈可以实现对表达式的求值,如中缀表达式转换为后缀表达式,并计算结果。

数据结构栈和队列实验报告

数据结构栈和队列实验报告

数据结构栈和队列实验报告实验报告:数据结构栈和队列一、实验目的1.了解栈和队列的基本概念和特点;2.掌握栈和队列的基本操作;3.掌握使用栈和队列解决实际问题的方法。

二、实验内容1.栈的基本操作实现;2.队列的基本操作实现;3.使用栈和队列解决实际问题。

三、实验原理1.栈的定义和特点:栈是一种具有后进先出(LIFO)特性的线性数据结构,不同于线性表,栈只能在表尾进行插入和删除操作,称为入栈和出栈操作。

2.队列的定义和特点:队列是一种具有先进先出(FIFO)特性的线性数据结构,不同于线性表,队列在表头删除元素,在表尾插入元素,称为出队和入队操作。

3.栈的基本操作:a.初始化:建立一个空栈;b.入栈:将元素插入栈的表尾;c.出栈:删除栈表尾的元素,并返回该元素;d.取栈顶元素:返回栈表尾的元素,不删除。

4.队列的基本操作:a.初始化:建立一个空队列;b.入队:将元素插入队列的表尾;c.出队:删除队列表头的元素,并返回该元素;d.取队头元素:返回队列表头的元素,不删除。

四、实验步骤1.栈的实现:a.使用数组定义栈,设置栈的大小和栈顶指针;b.实现栈的初始化、入栈、出栈和取栈顶元素等操作。

2.队列的实现:a.使用数组定义队列,设置队列的大小、队头和队尾指针;b.实现队列的初始化、入队、出队和取队头元素等操作。

3.使用栈解决实际问题:a.以括号匹配问题为例,判断一个表达式中的括号是否匹配;b.使用栈来实现括号匹配,遍历表达式中的每个字符,遇到左括号入栈,遇到右括号时将栈顶元素出栈,并判断左右括号是否匹配。

4.使用队列解决实际问题:a.以模拟银行排队问题为例,实现一个简单的银行排队系统;b.使用队列来模拟银行排队过程,顾客到达银行时入队,处理完业务后出队,每个顾客的业务处理时间可以随机确定。

五、实验结果与分析1.栈和队列的基本操作实现:a.栈和队列的初始化、入栈/队、出栈/队以及取栈顶/队头元素等操作均能正常运行;b.栈和队列的时间复杂度均为O(1),操作效率很高。

数据结构栈和队列实验报告

数据结构栈和队列实验报告

数据结构栈和队列实验报告数据结构栈和队列实验报告1.实验目的本实验旨在通过设计栈和队列的数据结构,加深对栈和队列的理解,并通过实际操作进一步掌握它们的基本操作及应用。

2.实验内容2.1 栈的实现在本实验中,我们将使用数组和链表两种方式实现栈。

我们将分别实现栈的初始化、入栈、出栈、判断栈是否为空以及获取栈顶元素等基本操作。

通过对这些操作的实现,我们可将其用于解决实际问题中。

2.2 队列的实现同样地,我们将使用数组和链表两种方式实现队列。

我们将实现队列的初始化、入队、出队、判断队列是否为空以及获取队头元素等基本操作。

通过对这些操作的实现,我们可进一步了解队列的特性,并掌握队列在实际问题中的应用。

3.实验步骤3.1 栈的实现步骤3.1.1 数组实现栈(详细介绍数组实现栈的具体步骤)3.1.2 链表实现栈(详细介绍链表实现栈的具体步骤)3.2 队列的实现步骤3.2.1 数组实现队列(详细介绍数组实现队列的具体步骤)3.2.2 链表实现队列(详细介绍链表实现队列的具体步骤)4.实验结果与分析4.1 栈实验结果分析(分析使用数组和链表实现栈的优缺点,以及实际应用场景)4.2 队列实验结果分析(分析使用数组和链表实现队列的优缺点,以及实际应用场景)5.实验总结通过本次实验,我们深入了解了栈和队列这两种基本的数据结构,并利用它们解决了一些实际问题。

我们通过对数组和链表两种方式的实现,进一步加深了对栈和队列的理解。

通过实验的操作过程,我们也学会了如何设计和实现基本的数据结构,这对我们在日后的学习和工作中都具有重要意义。

6.附件6.1 源代码(附上栈和队列的实现代码)6.2 实验报告相关数据(附上实验过程中所产生的数据)7.法律名词及注释7.1 栈栈指的是一种存储数据的线性数据结构,具有后进先出(LIFO)的特点。

栈的操作主要包括入栈和出栈。

7.2 队列队列指的是一种存储数据的线性数据结构,具有先进先出(FIFO)的特点。

数据结构实验报告之栈和队列

数据结构实验报告之栈和队列

数据结构实验报告之栈和队列1. 编写程序实现顺序栈的各种基本运算:初始化、销毁、清空、判断是否为空栈、求栈的长度、取栈顶元素、进栈、出栈。

在此基础上设计⼀个主程序完成如下功能:(1)初始化栈s;(2)判断栈s是否为空;(3)依次进栈元素a,b,c,d;(4)判断栈s是否为空;(5)输出栈s的长度;(6)栈⾥元素依次出栈,并输出;(7)销毁栈s。

#include<stdio.h>#include<malloc.h>#include<stdlib.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;typedef char SElemType;#define STACK_INIT_SIZE 100 //存储空间初始分配量#define STACKINCREMENT 10 //存储空间分配增量typedef struct {SElemType *base; //栈底指针SElemType *top; //栈顶指针int stacksize; //当前已分配的存储空间} SqStack;Status InitStack(SqStack &S) { //构造⼀个空栈SS.base = (SElemType*)malloc(STACK_INIT_SIZE * sizeof(SElemType));if (!S.base) exit(OVERFLOW);S.top = S.base;S.stacksize = STACK_INIT_SIZE;return OK;}//InitStackStatus StackLength(SqStack S) {return S.top - S.base;}//StackLengthStatus DestoryStack(SqStack &S) {S.top = S.base;free(S.base);//若base的值为NULL,则表明栈结构不存在S.base = NULL;S.top = NULL;S.stacksize = 0;return OK;}Status StackEmpty(SqStack S) {if (S.top == S.base)return1;elsereturn0;}//StackEmptyStatus GetTop(SqStack S, SElemType &e) {if (S.top == S.base) return ERROR;e = *(S.top - 1);return OK;}//GetTopStatus Push(SqStack &S, SElemType e) {if (S.top - S.base >= S.stacksize) {S.base = (SElemType*)realloc(S.base,(S.stacksize + STACKINCREMENT) * sizeof(SElemType));if (!S.base)exit(OVERFLOW);S.top = S.base + S.stacksize;S.stacksize+= STACKINCREMENT;}*S.top++=e;return OK;}//PushStatus Pop(SqStack &S, SElemType &e) {//判断栈是否为空if (S.base == S.top)return ERROR;e = *(S.top - 1);S.top--;return OK;}//Popvoid main(){SqStack s;SElemType e;printf("(1)初始化栈\n");InitStack(s);printf("(2)The stack is ");if (StackEmpty(s))printf("empty.\n");elseprintf("not empty.\n");printf("(3)依次进栈元素a,b,c,d\n");Push(s, 'a');Push(s, 'b');Push(s, 'c');Push(s, 'd');printf("(4)The stack is ");if (StackEmpty(s))printf("empty.\n");elseprintf("not empty.\n");printf("(5)The length of the stack is %d\n", StackLength(s));printf("(6)The stack is ");while (!StackEmpty(s)){Pop(s, e);printf("%c \n", e);}printf("(7)销毁栈s");DestoryStack(s);}运⾏结果:2. 编写程序实现链队列的各种基本运算:初始化、销毁、清空、判断是否为空队列、求队列的长度、取队列的头元素、⼊队、出队。

数据结构实验报告 栈和队列

数据结构实验报告 栈和队列

数据结构实验报告栈和队列
栈(Stack)和队列(Queue)都是常用的数据结构。

它们都是有限的数据存储结构,主要用于记录数据的存储和检索。

它们具有许多相同的特征,可以根据每一个实例的需要而定制遍历,并可以使用相同的存储方法。

但是,从数据操作和操作数据的角度来看,它们仍有差异。

首先,栈和队列的数据操作模式不同。

栈是遵循“先进后出”(LIFO)的原则,只有最后一个元素可以被弹出或者取出;而队列则是遵循“先进先出”(FIFO)的原则,第一个元素是最先被取出或弹出的。

此外,栈不允许插入新元素,而队列允许任何位置插入和删除元素。

此外,栈只能被依次访问,而队列允许改变已有元素的位置。

此外,栈和队列可以用相似的实现方式来构建。

一般来说,它们都使用 .链表,数组或者树来存储数据,并使用相同的Pointers来指向数据结构中的元素。

栈和队列也可以使用交换的方式来改变其存储方式,从而提高其效率。

对于实际应用来说,栈和队列都有自己的优势,具体取决于应用中的需求。

比如,栈通常被用于数据的深度优先遍历,而队列则可以用于数据的广度优先遍历。

此外,栈也可以用于处理函数调用,而队列可以用于处理操作系统任务或者打印池中的任务等。

数据结构实验-线性表及其实现栈和队列及其应用

数据结构实验-线性表及其实现栈和队列及其应用

数据结构实验报告一实验名称:线性表及其实现栈和队列及其应用1 实验目的及实验要求1.线性表目的要求:(1)熟悉线性表的基本运算在两种存储结构(顺序结构和链式结构)上的实现,以线性表的各种操作(建立、插入、删除等)的实现为实验重点;(2)通过本次实验帮助学生加深对顺序表、链表的理解,并加以应用;(3)掌握循环链表和双链表的定义和构造方法2.栈和队列目的要求:(1)掌握栈和队列这两种特殊的线性表,熟悉它们的特性,在实际问题背景下灵活运用它们;(2)本实验训练的要点是“栈”的观点及其典型用法;(3)掌握问题求解的状态表示及其递归算法,以及由递归程序到非递归程序的转化方法。

2实验内容及实验步骤(附运行结果截屏)1.线性表实验内容:(1)编程实现线性表两种存储结构(顺序存储、链式存储)中的基本操作的实现(线性表的创建、插入、删除和查找等),并设计一个菜单调用线性表的基本操作。

(2)建立一个按元素递增有序的单链表L,并编写程序实现:a)将x插入其中后仍保持L的有序性;b)将数据值介于min和max之间的结点删除,并保持L的有序性;c)(选做)将单链表L逆置并输出;(3)编程实现将两个按元素递增有序的单链表合并为一个新的按元素递增的单链表。

注:(1)为必做题,(2)~(3)选做。

2.栈和队列实验内容:(1)编程实现栈在两种存储结构中的基本操作(栈的初始化、判栈空、入栈、出栈等);(2)应用栈的基本操作,实现数制转换(任意进制);(3)编程实现队列在两种存储结构中的基本操作(队列的初始化、判队列空、入队列、出队列);(4)利用栈实现任一个表达式中的语法检查(括号的匹配)。

(5)利用栈实现表达式的求值。

注:(1)~(2)必做,(3)~(5)选做。

实验步骤:先编写线性表和栈和队列的类模板,实现各自的基础结构,之后按照要求编写适当的函数方法(公共接口),最后完成封装。

编写主函数直接调用即可。

核心代码://LinearList.h 顺序表//类的声明1.template<class T>2.class LinearList3.{4.public:5.LinearList(int sz = default_size);6.~LinearList();7.int Length()const; //length of the linear8.int Search(T x)const; //search x in the linear and return its order number9.T GetData(int i)const; //get i th order's data10.bool SetData(int i,T x); //change i th order's data to x11.bool DeleteData(int i);12.bool InsertData(int i,T x);13.void output(bool a,int b,int c); //print the linear14.void ReSize(int new_size);15.16.private:17.T *data;18.int max_size,last_data;19.};//构造函数1.template<class T>2.LinearList<T>::LinearList(int sz)3.{4.if(sz>0)5.{6.max_size = sz;st_data=-1;8.data=new T[max_size];9.if(data == NULL)10.{11.cerr<<"Memory creat error!"<<endl;12.exit(1);13.}14.}15.else16.{17.cerr<<"Size error!"<<endl;18.exit(1);19.}20.}//Qlist.h 链式表//模板类的声明1.template<class T>2.struct LinkNode3.{4.T data;5.LinkNode<T> *link;6.LinkNode(LinkNode<T> *ptr = NULL)7.{8.link = ptr;9.}10.LinkNode(const T item,LinkNode<T> *ptr = NULL)11.{12.data = item;13.link = ptr;14.}15.};16.17.template<class T>18.class Qlist: public LinkNode<T>19.{20.public:21.Qlist();22.Qlist(const T x);23.Qlist(Qlist<T>&L);24.~Qlist();25.void MakeEmpty();26.int Length()const; //length of the linear27.int Search(T x)const; //search x in the linear and return its order number28.LinkNode<T> *Locate(int i);29.T GetData(int i); //get i th order's data30.bool SetData(int i,T x); //change i th order's data to x31.bool DeleteData(int i);32.bool InsertData(int i,T x);33.void output(bool a,int b,int c); //print the linear34.35.protected:36.LinkNode<T> *first;37.};//构造函数1.template<class T>2.Qlist<T>::Qlist(Qlist<T>&L)3.{4.T value;5.LinkNode<T>*src = L.getHead();6.LinkNode<T>*des = first = new LinkNode<T>;7.while(src->link != NULL)8.{9.value = src->link->data;10.des->link = new LinkNode<T>(value);11.des = des->link;12.src = src->link;13.}14.des->link = NULL;15.}截屏:3 实验体会(实验遇到的问题及解决方法)刚开始的时候本想先写线性表的类模板然后分别进行继承写顺序表和链式表甚至是以后的栈和队列。

实验报告——栈和队列的应用

实验报告——栈和队列的应用

实验报告——栈和队列的应用第一篇:实验报告——栈和队列的应用实验5 栈和队列的应用目的和要求:(1)熟练栈和队列的基本操作;(2)能够利用栈与队列进行简单的应用。

一、题目题目1.利用顺序栈和队列,实现一个栈和一个队列,并利用其判断一个字符串是否是回文。

所谓回文,是指从前向后顺读和从后向前倒读都一样的字符串。

例如,a+b&b+a等等。

题目2.假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。

跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。

若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。

现要求写一算法模拟上述舞伴配对问题,并实现。

题目3.打印机提供的网络共享打印功能采用了缓冲池技术,队列就是实现这个缓冲技术的数据结构支持。

每台打印机具有一个队列(缓冲池),用户提交打印请求被写入到队列尾,当打印机空闲时,系统读取队列中第一个请求,打印并删除之。

请利用队列的先进先出特性,完成打印机网络共享的先来先服务功能。

题目4.假设以数组Q[m]存放循环队列中的元素, 同时设置一个标志tag,以tag == 0和tag == 1来区别在队头指针(front)和队尾指针(rear)相等时,队列状态为“空”还是“满”。

试编写与此结构相应的插入(enqueue)和删除(dlqueue)算法。

题目5.利用循环链队列求解约瑟夫环问题。

请大家从本组未讨论过的五道题中选择一道,参照清华邓俊辉老师MOOC视频及课本相关知识,编写相应程序。

选择题目3:打印机提供的网络共享打印功能采用了缓冲池技术,队列就是实现这个缓冲技术的数据结构支持。

二、程序清单//Ch3.cpp #include #include #include“ch3.h” template void LinkedQueue::makeEmpty()//makeEmpty//函数的实现{ LinkNode*p;while(front!=NULL)//逐个删除队列中的结点{p=front;front=front->link;delete p;} };template bool LinkedQueue::put_in(T&x){//提交命令函数if(front==NULL){//判断是否为空front=rear=new LinkNode;//如果为空,新结点为对头也为对尾front->data=rear->data=x;if(front==NULL)//分配结点失败return false;} else{rear->link=new LinkNode;//如不为空,在链尾加新的结点rear->link->data=x;if(rear->link==NULL)return false;rear=rear->link;} return true;};template bool LinkedQueue::carry_out()//执行命令函数 { if(IsEmpty()==true)//判断是否为空{return false;} cout<data<LinkNode*p=front;front=front->link;//删除以执行的命令,即对头修改delete p;//释放原结点return true;};void main()//主函数 { LinkedQueue q;//定义类对象char flag='Y';//标志是否输入了命令const int max=30;//一次获取输入命令的最大个数while(flag=='Y')//循环{ int i=0;char str[max];//定义存储屏幕输入的命令的数组gets(str);//获取屏幕输入的命令while(str[i]!=''){q.put_in(str[i]);//调用提交命令函数,将每个命令存入队列中i++;}for(int j=0;j<=i;j++){if(q.IsEmpty()==true)//判断是否为空,为空则说明没有可执行的命令{cout<cin>>flag;continue;//为空跳出for循环为下次输入命令做好准备}q.carry_out();//调用执行命令的函数,将命令打印并删除}三、程序调试过程中所出现的错误无。

栈和队列实验报告

栈和队列实验报告

数据结构实验报告顺序栈的实现和基本操作一、需求分析(1)顺序栈♦栈的典型操作是入栈和出栈,前者将新元素压入栈中,后者弹出栈顶元素。

栈只提供对栈顶元素的访问操作,由top ( )完成。

Push ( ) 和Pop ( )还有Top ( )共同构成了栈的最小功能接口。

此外,为了方便使用,栈还有判空,判满和输出栈等功能。

♦输入形式及范围:输入形式为整型,范围为0~65535。

♦输出形式:在顺序栈的初始化后显示初始化成功,在判断栈是否为空时显示当前栈为空,入栈后显示入栈成功或者栈已满。

出栈时显示出栈元素或者栈为空。

输出栈时依次显示栈中元素。

♦程序功能:初始化栈,判断栈是否为空,判断栈是否为满,入栈,出栈,取栈顶元素,出栈同时返回栈顶元素和输出栈等功能。

♦测试数据:初始化后输入栈的长度为4。

判断栈是否为空。

进行5次入栈操作。

分别输入1 2 3 4 5输出栈。

执行2次出栈操作。

输出栈。

查看栈顶元素。

输出栈。

(2)队列♦队列的典型操作是入队和出队,前者将新元素压入队列中,后者弹出队首头元素。

队列只提供对队头元素和队尾元素的操作,由DeQueue ()和EnQueue(完成。

DeQueue还有EnQueue ()共同构成了队列的最小功能接口。

此外,为了方便使用,队列还有判空,判满和输出队列等功能。

♦输入形式及范围:输入形式为整型,范围为0~65535。

♦输出形式:在顺序队列的初始化后显示初始化成功,在判断队列是否为空时显示当前队列为空,入队列后显示入队成功或者队列已满。

出队列时显示出队首元素或者队列为空。

输出队列时依次显示队列中元素。

♦程序功能:初始化队列,判断队列是否为空,判断队列是否为满,入队,出队,取队首元素,输出队列等功能。

♦测试数据:初始化后输入队列的长度为54。

判断队列是否为空。

进行5次入队操作。

分别输入1 2 3 4 5输出队列。

执行2次出队操作。

输出队列。

查看队首元素二、概要设计(1)顺序栈♦为了实现程序的功能,在.H文件中定义了栈的模板类.template <class T>class Stack{私有数据成员:private:栈的最大长度int MaxSize;栈顶位置int top;顺序栈首地址T *theArray;公有成员:public:栈的初始化void InitStack(int capacity=10);操作结果:初始化一个默认长度为10 的空栈判断栈是否为空bool IsEmpty() const; 初始条件:栈已存在。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构栈与队列的实验报告
实验概述
本次实验的目的是通过对栈和队列进行实现和应用,加深对数据结构中的栈和队列的
理解和巩固操作技能。

栈和队列作为常见的数据结构在程序开发中得到了广泛的应用,本
次实验通过 C++ 语言编写程序,实现了栈和队列的基本操作,并对两种数据结构进行了
应用。

实验内容
1. 栈的实现
栈是一种先进后出的数据结构,具有后进先出的特点。

通过使用数组来实现栈,实现
入栈、出栈、输出栈顶元素和清空栈等操作。

对于入栈操作,将元素插入到数组的栈顶位置;对于出栈操作,先将数组的栈顶元素
弹出,再使其下移,即将后面的元素全部向上移动一个位置;输出栈顶元素则直接输出数
组的栈顶元素;清空栈则将栈中所有元素全部清除即可。

3. 栈和队列的应用
利用栈和队列实现八皇后问题的求解。

八皇后问题,是指在8×8 的国际象棋盘上放置八个皇后,使得任意两个皇后都不能
在同一行、同一列或者同一对角线上。

通过使用栈来保存当前八皇后的位置,逐个放置皇后并检查是否有冲突。

如果当前位
置符合要求,则将位置保存到栈中,并继续查询下一个皇后的位置。

通过使用队列来进行八数码问题的求解。

八数码问题,是指在3×3 的矩阵中给出 1 至 8 的数字和一个空格,通过移动数字,最终将其变为 1 2 3 4 5 6 7 8 空的排列。

通过使用队列,从初始状态出发,枚举每种情况,利用队列进行广度遍历,逐一枚举
状态转移,找到对应的状态后进行更新,周而复始直到找到正确的答案。

实验结果
通过使用 C++ 语言编写程序,实现了栈和队列的基本操作,并对八皇后和八数码问
题进行了求解。

程序执行结果如下:
栈和队列实现的基本操作都能够正常进行,并且运行效率较高。

栈和队列的实现方便了程序编写并加速了程序运行。

2. 八皇后问题的求解
通过使用栈来求解八皇后问题,可以得到一组成立的解集。

图中展示了求解某一种八皇后问题的过程。

从左到右是棋盘的列数,从上到下是棋盘的行数,通过栈的操作,求出了在棋盘上符合不同要求(不在同一行、同一列和斜线上)的八皇后位置。

图中展示了从初始状态开始,依次更新状态,找到最终正确状态的过程。

总之,本次实验拓展了我的数据结构知识,对于以后的程序开发有很大的帮助。

相关文档
最新文档