队列实验报告
【推荐】队列操作实验报告-word范文模板 (12页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==队列操作实验报告篇一:栈和队列基本操作实验报告实验二堆栈和队列基本操作的编程实现【实验目的】堆栈和队列基本操作的编程实现要求:堆栈和队列基本操作的编程实现(2学时,验证型),掌握堆栈和队列的建立、进栈、出栈、进队、出队等基本操作的编程实现,存储结构可以在顺序结构或链接结构中任选,也可以全部实现。
也鼓励学生利用基本操作进行一些应用的程序设计。
【实验性质】验证性实验(学时数:2H)【实验内容】内容:把堆栈和队列的顺序存储(环队)和链表存储的数据进队、出队等运算其中一部分进行程序实现。
可以实验一的结果自己实现数据输入、数据显示的函数。
利用基本功能实现各类应用,如括号匹配、回文判断、事物排队模拟、数据逆序生成、多进制转换等。
【实验分析、说明过程】【思考问题】【实验小结】 ( 总结本次实验的重难点及心得、体会、收获)【附录-实验代码】篇二:队列存储与操作实验报告实验四队列存储与操作一. 实验目的1、掌握队列顺序存储结构(循环队列)及实现及操作2、掌握队列的链接存储结构及实现及操作二. 实验内容1、建立一个空顺序存储结构队列;对已建立的队列进行插入、删除、取队头元素等基本操作。
2、建立一个空链式存储结构队列;对已建立的队列进行插入、删除、取队头元素等基本操作。
三、详细设计:1、顺序队列的实现:#include<iostream>using namespace std;const int Size=100;typedef char DataType;class CirQueue{public:CirQueue() { } ~CirQueue(){} void EnQueue(DataType x){if((rear+1)%Size==front) {} cout<<"队列已经满了"<<endl; return; front=rear=0;//构造队列,初始化一个空的循环队列,front和rear指向};} data[rear]=x; cout<<x<<"已入队"<<endl; return; DataTypeGetQueue()//取队头 { } DataType DeQueue() { } int isEmpty()//是否为空{ } DataType data[Size]; int front,rear; if(front==rear) { } else{ } return 0; return 1; if(isEmpty()) {} front=(front+1)%Size;//队头指针在循环的意义下加 return data[front]; cout<<"队列为空"<<endl; return 0; if(isEmpty()) {} int i; i=(front+1)%Size; return data[i]; cout<<"队列为空"<<endl; return 0; private:int main(){int index; DataType temp; do{cout<<"**********************************"<<endl; cout<<"1、入队操作"<<endl; cout<<"2、取队头操作"<<endl; cout<<"3、出队操作"<<endl;cout<<"4、判断队列是否为空"<<endl; cout<<"5、退出"<<endl;cout<<"**********************************"<<endl; cin>>index;if(index==5){return 0;} switch(index) { case 1:cout<<"请输入要入队的元素"<<endl; cin>>temp; a.EnQueue(temp); break; temp=a.GetQueue();if(temp!=0) { } cout<<"队头的元素为"<<temp<<" "<<endl;case 2: break; temp=a.DeQueue(); if(temp!=0) { } cout<<"出队的元素为"<<temp<<""<<endl; case 3: break; bool temp; temp=a.isEmpty(); if(temp){cout<<"空队"<<endl; cout<<"非空队"<<endl; }else{ case 4:} } break; }while(index); return 0;2、链队列的实现: #include<iostream> using namespace std;const int Size=100; typedef char DataType; struct Node{};class LinkQueue {public:LinkQueue() { } ~LinkQueue(){} void EnQueue(DataType x) {} DataType GetQueue()//取?队ó头? {if(isEmpty()) {} cout<<"队ó列为a空?"<<endl; return 0; auto s=new Node; s->data=x; s->next=NULL;//申Θ?请?一?个?数簓据Y域?为aX的?结á点?s rear->next=s; rear=s; auto head=new Node; head->next=NULL; front=rear=head; DataType data; Node *next;};} return front->next->data; DataType DeQueue() { } int isEmpty()//是?否?为a空? { } Node*front,*rear;//队ó头?和í队ó尾2指?针?if(front==rear) { } else{ } return 0; return 1; if(isEmpty()) {} auto p=new Node;//用?于?暂Y存?队ó头?元a素? DataType x;//用?于?暂Y存?队ó头?数簓据Y p=front->next; x=p->data; front->next=p->next;if (p->next==NULL) { } delete p; return x; rear=front; cout<<"队ó列为a空?"<<endl; return 0; private:int main() {LinkQueue a; int index; DataType temp; do{cout<<"**********************************"<<endl; cout<<"1、¢入?队ó操ù作痢?<<endl;篇三:队列存储与操作实验报告实验四队列存储与操作一、实验目的1、掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,队列顺序存储结构、链式存储结构和循环队列的实现,以便在实际问题背景下灵活运用。
队列实验报告

队列实验报告队列实验报告引言:队列是一种常见的数据结构,它按照先进先出(FIFO)的原则管理数据。
在计算机科学中,队列被广泛应用于各种算法和数据处理任务中。
本实验旨在通过实际操作和观察,深入了解队列的特性和应用。
实验目的:1. 理解队列的基本概念和特性;2. 学会使用队列进行数据处理;3. 掌握队列在实际问题中的应用。
实验步骤:1. 队列的创建和初始化:首先,我们需要创建一个队列并进行初始化。
队列可以使用数组或链表来实现。
在本实验中,我们选择使用链表实现队列。
通过定义一个队列类,我们可以创建一个空队列,并为其设置头节点和尾节点。
2. 入队操作:入队操作是将元素添加到队列的末尾。
我们可以通过调用队列类的入队方法,在尾节点后插入新的节点。
在插入操作之前,我们需要判断队列是否为空。
如果队列为空,新节点将成为头节点和尾节点;如果队列不为空,新节点将链接到当前尾节点的后面,并成为新的尾节点。
3. 出队操作:出队操作是将队列中的第一个元素移除,并返回该元素的值。
我们可以通过调用队列类的出队方法,将头节点的下一个节点作为新的头节点,并返回旧的头节点的值。
在出队操作之前,我们同样需要判断队列是否为空。
如果队列为空,则无法进行出队操作。
4. 遍历队列:为了观察队列中的元素,我们可以使用遍历操作。
通过遍历队列,我们可以依次访问每个节点,并输出节点的值。
在遍历过程中,我们需要从头节点开始,依次访问每个节点的下一个节点,直到尾节点为止。
实验结果:通过上述实验步骤,我们可以得到以下结果:1. 队列的创建和初始化成功;2. 入队操作能够将元素添加到队列的末尾;3. 出队操作能够将队列中的第一个元素移除,并返回该元素的值;4. 遍历操作能够依次输出队列中的每个元素。
实验应用:队列在实际问题中有着广泛的应用。
以下是一些典型的应用场景:1. 消息队列:在分布式系统中,消息队列被用于异步通信和解耦。
生产者可以将消息发送到队列,而消费者可以从队列中获取消息并进行处理。
队列训练报告

队列训练报告1. 引言队列是一种常用的数据结构,它遵循先进先出(FIFO)的原则。
队列的训练是对队列的操作和应用进行学习和实践的过程。
本文将结合具体的例子和步骤,介绍队列的基本概念、操作和应用。
希望通过本文的介绍,能够帮助读者更好地理解和应用队列。
2. 队列的基本概念队列是一种线性数据结构,它可以用来存储一系列具有相同类型的元素。
队列有两个基本操作,即入队(enqueue)和出队(dequeue)。
入队表示将元素添加到队列的末尾,而出队表示将队列的第一个元素移除并返回。
队列遵循先进先出的原则,即最先入队的元素最先出队。
3. 队列的操作3.1 创建队列创建队列时,需要声明一个空的数组或链表,并设置队列的初始状态为空。
3.2 入队操作入队操作将元素添加到队列的末尾。
具体步骤如下: - 判断队列是否已满,如果已满则报错或进行扩容操作。
- 将元素添加到队列的末尾。
- 更新队列的状态。
3.3 出队操作出队操作将队列的第一个元素移除并返回。
具体步骤如下: - 判断队列是否为空,如果为空则报错。
- 获取队列的第一个元素。
- 将队列的第一个元素移除。
- 更新队列的状态。
- 返回被移除的元素。
3.4 获取队列的大小获取队列的大小即为获取队列中元素的个数。
3.5 判断队列是否为空判断队列是否为空即为判断队列中是否存在元素。
4. 队列的应用队列在实际的编程中有着广泛的应用。
下面以简单的示例说明队列的几个常见应用。
4.1 网页爬虫在网页爬虫中,为了实现广度优先遍历,需要使用队列来存储待访问的链接。
每当访问一个页面时,将该页面上的所有链接入队,然后依次出队进行访问。
通过队列的先进先出特性,可以保证访问的顺序是按层级逐个进行的。
4.2 进程调度在操作系统中,进程调度是对进程进行管理和分配的过程。
为了实现公平和高效的调度,可以使用队列来存储就绪状态的进程。
每当一个进程完成执行或者等待I/O时,可以将其移出队列,并将下一个就绪状态的进程入队。
队列的操作实验报告

队列的操作实验报告队列的操作实验报告一、实验目的本次实验旨在通过对队列的操作,加深学生对队列数据结构的理解,掌握队列的基本操作方法。
二、实验原理队列是一种先进先出(First In First Out,FIFO)的线性数据结构。
它可以用数组或链表来实现。
在队列中,新元素插入到队尾,已有元素从队头删除。
因此,队列具有以下几个特点:1. 只允许在一端插入元素,在另一端删除元素。
2. 插入和删除元素时分别称为入队和出队。
3. 入队操作在队尾进行,出队操作在对头进行。
三、实验内容本次实验主要涉及以下几个方面:1. 队列的初始化:初始化一个空的循环队列。
2. 入队操作:将一个元素插入到循环队列中。
3. 出队操作:从循环队列中删除一个元素,并返回该元素值。
4. 判断循环队列是否为空:如果循环对了为空,则返回 true;否则返回 false。
5. 判断循环对了是否已满:如果循环对了已满,则返回 true;否则返回 false。
四、实验步骤1. 队列的初始化首先需要定义一个结构体来表示循环队列,包括以下几个成员变量:```ctypedef struct {int *base; // 队列的基地址int front; // 队头指针int rear; // 队尾指针int size; // 队列长度} Queue;```然后定义一个初始化函数,用来初始化一个空的循环队列:```cvoid initQueue(Queue *queue, int size) {queue->base = (int *) malloc(sizeof(int) * size);queue->front = queue->rear = 0;queue->size = size;}```2. 入队操作入队操作比较简单,只需要将元素插入到队尾即可。
如果队列已满,则无法插入元素。
```cbool enQueue(Queue *queue, int value) {if (isFull(queue)) {return false;}queue->base[queue->rear] = value;queue->rear = (queue->rear + 1) % queue->size;return true;}```3. 出队操作出队操作也比较简单,只需要从队头删除一个元素,并返回该元素值。
栈和队列的应用实验报告

栈和队列的应用实验报告
《栈和队列的应用实验报告》
一、实验目的
本实验旨在通过实际操作,掌握栈和队列的基本概念、操作及应用,加深对数
据结构的理解和应用能力。
二、实验内容
1. 栈的基本操作:包括入栈、出栈、获取栈顶元素等。
2. 队列的基本操作:包括入队、出队、获取队首元素等。
3. 栈和队列的应用:通过实际案例,探讨栈和队列在实际生活中的应用场景。
三、实验步骤
1. 学习栈和队列的基本概念和操作。
2. 编写栈和队列的基本操作代码,并进行调试验证。
3. 分析并实现栈和队列在实际应用中的案例,如表达式求值、迷宫问题等。
4. 进行实际应用案例的测试和验证。
四、实验结果
1. 成功实现了栈和队列的基本操作,并通过实际案例验证了其正确性和可靠性。
2. 通过栈和队列在实际应用中的案例,加深了对数据结构的理解和应用能力。
五、实验总结
通过本次实验,我深刻理解了栈和队列的基本概念和操作,并掌握了它们在实
际应用中的重要性和作用。
栈和队列作为数据结构中的重要内容,对于解决实
际问题具有重要意义,希望通过不断的实践和学习,能够更加熟练地运用栈和
队列解决实际问题,提高自己的编程能力和应用能力。
六、感想与展望
本次实验让我对栈和队列有了更深入的了解,也让我对数据结构有了更加深刻的认识。
我将继续学习和探索更多的数据结构知识,提高自己的编程能力和解决问题的能力,为将来的学习和工作打下坚实的基础。
同时,我也希望能够将所学知识应用到实际工程中,为社会做出更大的贡献。
队列研究报告模板范文

队列研究报告模板范文一、引言队列是计算机科学中一个常用的数据结构,用于在多个元素中存储和操作数据。
队列的基本操作包括入队和出队,其中入队将元素添加到队列的尾部,而出队则从队列的头部取出元素。
队列的应用广泛,例如作业调度、模拟系统和网络路由等领域。
本报告旨在介绍队列的基本原理、特性以及相关应用,并通过实际案例加深对队列的理解。
二、队列的基本原理1. 队列的定义与特点队列是一种特殊的线性表,只能在表的一端进行插入操作,而在另一端进行删除操作,遵循先进先出(FIFO)的原则。
队列的特性包括有序性和封闭性。
有序性指入队和出队的操作必须依照元素的先后顺序进行,而封闭性则指队列只能通过入队和出队的操作进行数据的存取与操作。
2. 队列的实现方式队列可以通过数组或链表两种方式进行实现。
使用数组实现的队列被称为顺序队列,其中需要维护队列的头和尾指针。
入队操作通过将元素添加到队尾,并更新尾指针的位置;出队操作则删除队头元素,并更新头指针的位置。
当队列满或为空时,需要进行相应的异常处理。
链表实现的队列被称为链式队列,其中每个节点包括一个数据域和一个指针域,指向下一个节点。
链式队列的入队和出队操作基于链表的插入和删除操作,无需关心队列是否满。
三、队列的特性和应用1. 队列的特性队列具有一些重要的特性,包括先进先出原则、有序性、封闭性和长度可变性。
这些特性使得队列在许多领域都具有重要的应用价值。
2. 队列的应用案例(1)作业调度:操作系统中的作业调度使用队列来管理各个作业的执行顺序。
新到达的作业被添加到队列尾部,而正在执行的作业从队列头部出队。
这种方法可以保证作业按照先后顺序执行。
(2)模拟系统:队列在模拟系统中被广泛用于模拟实际情况下的排队、等待或运行过程。
例如,银行排队系统可以用队列来模拟客户的到来和服务的过程,以评估系统的平均等待时间和服务效率。
(3)网络路由:网络数据传输中使用队列来缓冲数据包的传送。
数据包按照到达的顺序进入队列,并按照相应的路由算法进行出队,以保证数据的有序传输。
队列应用实验报告

队列应用实验报告队列应用实验报告引言:队列是一种常见的数据结构,它按照先进先出(FIFO)的原则进行操作。
在计算机科学中,队列被广泛应用于各种领域,如操作系统、网络通信、图形处理等。
本实验旨在通过实际应用,探索队列在实际问题中的应用。
一、队列在操作系统中的应用在操作系统中,队列被用于进程调度。
操作系统通过维护一个就绪队列,按照进程的优先级或到达时间将进程排队。
当一个进程执行完毕或者发生中断时,操作系统从队列中选择下一个要执行的进程。
这种方式确保了每个进程都能按照一定的规则获得CPU的使用权,提高了系统的效率。
二、队列在网络通信中的应用在网络通信中,队列被用于处理数据包。
当数据包到达网络节点时,它们会被放入队列中等待处理。
队列中的数据包按照先后顺序进行处理,保证了数据的有序性。
同时,队列还可以用于解决网络拥塞的问题。
当网络负载过高时,数据包会被放入队列中等待发送,以避免数据的丢失。
三、队列在图形处理中的应用在图形处理中,队列被用于实现图像渲染。
当一个图像需要被渲染时,图像的每个像素点都需要经过一系列的计算和处理。
这些计算和处理的顺序可以通过队列来管理。
每个像素点都被放入队列中,然后按照队列的顺序进行处理。
这种方式可以确保图像的每个像素点都按照正确的顺序进行渲染,保证了图像的质量。
四、队列在实际生活中的应用队列不仅在计算机科学中有广泛的应用,也在我们的日常生活中发挥着重要的作用。
例如,在超市排队结账时,我们都会排队等待。
超市通过维护一个顾客队列,按照先后顺序为每个顾客提供服务。
这种方式保证了每个顾客都能按照一定的规则被服务,提高了服务效率。
结论:队列作为一种常见的数据结构,在各个领域都有重要的应用。
通过本实验,我们对队列的应用有了更深入的了解。
队列的先进先出原则使得它在处理需要按照顺序进行的任务时非常有效。
无论是在操作系统、网络通信还是图形处理中,队列都能发挥重要的作用。
同时,队列在我们的日常生活中也有广泛的应用,帮助我们提高效率和组织秩序。
数据队列实验报告总结(3篇)

第1篇一、实验背景数据结构是计算机科学中一个重要的基础学科,其中队列作为一种常用的数据结构,在计算机科学和实际应用中具有广泛的应用。
队列是一种先进先出(FIFO)的线性表,它允许在表的一端进行插入操作,在另一端进行删除操作。
本实验旨在通过实现队列的基本操作,加深对队列数据结构概念和特性的理解,并掌握其在实际应用中的运用。
二、实验目的1. 理解队列数据结构的概念和特性。
2. 掌握队列的存储结构,包括顺序存储和链式存储。
3. 熟悉队列的基本操作,如入队、出队、队列长度、队列状态判断等。
4. 通过实际编程,提高数据结构应用能力。
三、实验内容1. 队列的顺序存储结构实现:- 定义队列结构体,包含队列长度、队列最大长度、队列首尾指针等。
- 实现队列的初始化、入队、出队、判断队列是否为空、判断队列是否已满等操作。
2. 队列的链式存储结构实现:- 定义队列节点结构体,包含队列数据、指针等。
- 实现队列的初始化、入队、出队、判断队列是否为空、判断队列是否已满等操作。
3. 队列的实际应用:- 使用队列实现广度优先搜索(BFS)算法。
- 使用队列实现单链表反转。
- 使用队列实现表达式求值。
四、实验步骤1. 创建队列结构体,定义队列的基本属性和操作函数。
2. 实现队列的顺序存储结构,包括队列的初始化、入队、出队、判断队列是否为空、判断队列是否已满等操作。
3. 实现队列的链式存储结构,包括队列的初始化、入队、出队、判断队列是否为空、判断队列是否已满等操作。
4. 通过实际编程,验证队列的基本操作是否正确。
5. 使用队列实现实际应用,验证队列在解决问题中的应用价值。
五、实验结果与分析1. 顺序存储结构实现:- 队列的初始化、入队、出队、判断队列是否为空、判断队列是否已满等操作均能正常进行。
- 队列的顺序存储结构在插入和删除操作时,需要移动队列中的元素,因此时间复杂度为O(n)。
2. 链式存储结构实现:- 队列的初始化、入队、出队、判断队列是否为空、判断队列是否已满等操作均能正常进行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.实验项目名称
循环队列和链式队列的创建
二、实验目的
1、掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,
2、队列顺序存储结构、链式存储结构和循环队列的实现,以便在
实际问题背景下灵活应用。
三、实验内容
1.链式队列的实现和运算
2.循环队列的实现和运算
四、主要仪器设备及耗材
VC++6.0运行环境实现其操作
五.程序算法
(1) 循环队列操作的算法
1>进队列
V oid enqueue (seqqueue &q, elemtype x)
{
if ((q.rear+1)%maxsize = = q.front)
cout<<”overflow”;
else {
q.rear=(q.rear+1)%maxsize; //编号加1或循环回第一个单元
q.queue[q.rear]=x;
}
}
2>出队列
V oid dlqueue(seqqueue &q )
{
if (q.rear= =q.front) cout<<”underflow”;
else
q.front =(q.front+1)%maxsize;
}
3>取对头元素
elemtype gethead(seqqueue q )
{ if (q.rear= =q.front)
{ cout<<”underflow”;
return NULL;}
else return q.queue[(q.front+1)%maxsize];
//front指向队头前一个位置
}
4>判队列空否
int empty(seqqueue q )
{
if (q.rear= =q.front) reurn 1;
else return 0;
}
(2).链队列操作的算法
1>.链队列上的初始化
void INIQUEUE( linkqueue &s)
{ link *p;
p=new link;
p->next=NULL; //p是结构体指针类型,用->
s.front=p; //s是结构体变量,用.
s.rear=p; //头尾指针都指向头结点
}
2>.入队列
void push(linkqueue &s, elemtype x)
{
link *p; //p是结构体指针类型,用->
p=new link;
p->data=x;
p->next=s.rear->next; //s是结构体变量,用.
s.rear->next=p;
s.rear=p; //插入最后
}
3>判队空
int empty( linkqueue s )
{ if (s.front= =s.rear) return 1;
else return 0;
}
4>.取队头元素
elemtype gethead( linkqueue s )
{
if (s.front= =s.rear) return NULL;
else retuen s.front->next->data;
}
5>.出队列
void pop(linkqueue &s)
{ link *p;
p=s.front->next;
if (p->next= =NULL)//链队列中只有一个元素,需要修改rear指针{ s.front->next=NULL;
s.rear=s.front;}
else
s.front->next =p->next;//rear不用变
delete (p);
}
六.程序源代码
a.循环队列源代码
#include<iostream.h>
#define MAXN 20
struct seq
{
char queue[MAXN];
int front , rear;
};
void iniq(seq &q)
{
q.front=q.rear=MAXN-1;
}
void enq(seq &q,char x)
{
if((q.rear+1)%MAXN==q.front)
cout<<"overflow";
else {
q.rear=(q.rear+1)%MAXN;
q.queue[q.rear]=x;
}
//return(0);
}
void dlq(seq &q)
{
if (q.rear == q.front)
cout<<"underflow";
else
q.front=(q.front+1)%MAXN;
}
int gethead(seq &q) //取队头元素
{if (q.rear == q.front) //判断是否队列为空
cout<<"underflow";
else
return q.queue[(q.front+1)%MAXN];
}
main()
{seq q;
int i,y;
iniq(q);
cout<<"输入元素入队0为止"<<endl;
cin>>i;
while(i)
{
enq( q,i);
cin>>i;
}
y=gethead( q);
cout<<"队头为="<<y<<endl;
dlq( q);
y=gethead( q);
cout<<"执行一次删除队头后,队头为="<<y<<endl;
}
b.链队列的源代码
#include <iostream.h>
typedef struct QNode
{
char data;
QNode *next;
}QNode,*QueuePtr;
typedef struct
{
QueuePtr front;
QueuePtr rear;
}LinkQueue;
InitQueue(LinkQueue &Q)
{
Q.front=Q.rear=new QNode;
Q.front->next=NULL;
return 0;
}
EnQueue(LinkQueue &Q,char e) {
QueuePtr p;
p=new QNode;
p->data=e;
p->next=NULL;
Q.rear->next=p;
Q.rear=p;
return 0;
}
void disp(LinkQueue &Q) //打印队列{
QueuePtr p;
p=Q.front->next;
while(p!=NULL)
{
cout<<p->data<<"->";
p=p->next;
}
}
DeQueue(LinkQueue &Q,char &e) {
QueuePtr p;
if(Q.front==Q.rear)return 1;
p=Q.front->next;
e=p->data;
Q.front->next=p->next;
if(Q.rear==p)
Q.rear=Q.front;
delete p;
return 0;
}
void main()
{
LinkQueue Q;
char e,e1;
InitQueue(Q);
cout<<"输入队列元素,0时结束:"<<endl;
cin>>e;
while(e!='0'){
EnQueue(Q,e);
cin>>e;
}
cout<<"队列为:"<<endl;
disp(Q);
DeQueue(Q,e1);
cout<<endl<<"执行一次删除队头,删除的元素是:"<<e1<<endl;
cout<<"队列为:"<<endl;
disp(Q);
cout<<endl;
}
六.程序输入数据及实验结果
a.循环队列实验结果
c.链队列实验结果
七、思考讨论题或体会或对改进实验的建议
(1)体会
a.C++语言知识不懂,需要好好学习;
b.对单链表不够熟悉,要多练习创建单链表及其基本操作。
八、参考资料
a.《数据结构》李根强主编中国国水利水电出版社
b.《C++语言程序设计》郑莉董渊何江舟编清华大学出版社。