数据结构实验指导书-2013

合集下载

数据结构实验指导书

数据结构实验指导书

《数据结构》实验指导书实验一顺序表实验目的:熟悉顺序表的逻辑特性、存储表示方法和顺序表的基本操作。

实验要求:了解并熟悉顺序表的逻辑特性、存储表示方法和顺序表的基本操作的实现和应用。

实验内容:1、编写程序实现在线性表中找出最大的和最小的数据元素,并符合下列要求:(1)设数据元素为整数,实现线性表的顺序存储表示。

(2)从键盘输入10个数据元素,利用顺序表的基本操作建立该表。

(3)利用顺序表的基本操作,找出表中最大的和最小的数据元素(用于比较的字段为整数)。

2、编写一个程序实现在学生成绩中找出最高分和最低分,并符合下列要求:(1)数据元素为学生成绩(含姓名、成绩等字段)。

(2)要求尽可能少地修改第一题的程序来得到此题的新程序,即要符合第一题的所有要求。

(这里用于比较的字段为分数)实验二链表实验目的:熟悉链表的逻辑特性、存储表示方法的特点和链式表的基本操作。

实验要求:了解并熟悉链式表的逻辑特性、存储表示方法和链式表的基本操作的实现和应用。

实验内容:1、编写一个程序建立存放学生成绩的有序链表并实现相关操作,要求如下:(1)设学生成绩表中的数据元素由学生姓名和学生成绩字段组成,实现这样的线性表的链式存储表示。

(2)键盘输入10个(或若干个,特殊数据来标记输入数据的结束)数据元素,利用链表的基本操作建立学生成绩单链表,要求该表为有序表并带有头结点。

(用于比较的字段为分数)。

(3)输入关键字值x,打印出表中所有关键字值<=x的结点。

(用于比较的关键字字段为分数)。

(4)输入关键字值x,删除表中所有关键字值<=x的结点。

(用于比较的关键字字段为分数)。

(5)输入关键字值x,并插入到表中,使所在的链表仍为有序表。

(用于比较的字段为分数)。

实验三栈的应用实验目的:熟悉栈的逻辑特性、存储表示方法和栈的基本操作。

实验要求:了解并熟悉栈的逻辑特性、顺序和链式存储表示方法和栈的基本操作的实现和应用。

实验内容:(1)判断一个表达式中的括号(仅有一种括号,小、中或大括号)是否配对。

《数据结构与算法》实验指导书2013版

《数据结构与算法》实验指导书2013版

《数据结构与算法》实验指导书大连民族学院信息与通信工程学院2013 年10 月10 日基本要求1.学生必须按时到实验室做实验,不得迟到早退,未经老师批准不得中途离开。

凡迟到者,应给予批评并作适当扣分。

实验课迟到20分钟以上及无故缺席者视为旷课,旷课者不予补做实验,本次实验以零分计。

学生因病或特殊情况不能按时到实验室做实验时,应办理正常请假手续。

请病假必须有医生签字的病假条,请事假必须有班主任签字的事假条。

不符合请假手续的,以旷课论处。

请假的学生由指导教师安排补做实验。

对于未做实验数达三分之一以上(含三分之一)的学生,实验课程按0分计。

2.学生在每次实验课之前,应仔细阅读实验教材,查阅相关的资料,写出预习报告。

预习报告的具体内容包括:实验内容、实验目的、实验原理图、实验步骤、实验数据记录表格等。

实验课前由任课教师检查预习报告,未写预习报告者不予做实验。

3.做实验前,了解设备的原理和正确使用方法。

在没有弄懂仪器设备的使用方法前,不得贸然使用,否则因使用不当造成仪器设备损坏的,根据大连民族学院《仪器设备损坏丢失处理暂行办法》规定进行处理。

实验室内设备在实验过程中不准任意搬动和调换,非本次实验所用仪器设备,未经指导教师允许不得动用。

4.要求每位学生在实验过程中,要具有严谨的学习态度、认真、踏实、一丝不苟的科学作风。

实验过程中学生按照预习的内容进行实验,且重视实验的调试过程,学会如何根据实验现象判断问题所在。

坚持每次实验都要亲自动手,不可“坐车”,每个实验每个学生都要独立完成,不允许抄袭,无特殊原因,中途不得退出实验,否则本次实验无效。

5.实验中若接线、改接、拆线都必须在切断电源的情况下进行,线路连接完毕再送电。

实验中,特别是设备刚投入运行时,要随时注意仪器设备的运行情况,如发现有过热、异味、冒烟、火花等,应立即断电,并请指导老师检查、处理。

6.实验过程中,如出现事故,就马上拉开电源开关,然后找指导教师和实验技术人员,如实反映事故情况,并分析原因和处理事故。

数据结构实验指导书

数据结构实验指导书

数据结构实验指导书一、实验目的数据结构是计算机科学中的重要基础课程,通过实验,旨在帮助学生更好地理解和掌握数据结构的基本概念、原理和算法,提高学生的编程能力和问题解决能力。

具体而言,实验的目的包括:1、加深对常见数据结构(如数组、链表、栈、队列、树、图等)的理解,掌握其特点和操作方法。

2、培养学生运用数据结构解决实际问题的能力,提高算法设计和程序实现的能力。

3、增强学生的逻辑思维能力和调试程序的能力,培养学生的创新意识和团队合作精神。

二、实验环境1、操作系统:Windows 或 Linux 操作系统。

2、编程语言:C、C++、Java 等编程语言中的一种。

3、开发工具:如 Visual Studio、Eclipse、Code::Blocks 等集成开发环境(IDE)。

三、实验要求1、实验前,学生应认真预习实验内容,熟悉相关的数据结构和算法,编写好实验程序的代码框架。

2、实验过程中,学生应独立思考,认真调试程序,及时记录实验过程中出现的问题及解决方法。

3、实验完成后,学生应撰写实验报告,包括实验目的、实验内容、实验步骤、实验结果、问题分析与解决等。

四、实验内容(一)线性表1、顺序表的实现与操作实现顺序表的创建、插入、删除、查找等基本操作。

分析顺序表在不同操作下的时间复杂度。

2、链表的实现与操作实现单链表、双向链表的创建、插入、删除、查找等基本操作。

比较单链表和双向链表在操作上的优缺点。

(二)栈和队列1、栈的实现与应用实现顺序栈和链式栈。

利用栈解决表达式求值、括号匹配等问题。

2、队列的实现与应用实现顺序队列和链式队列。

利用队列解决排队问题、广度优先搜索等问题。

(三)树1、二叉树的实现与遍历实现二叉树的创建、插入、删除操作。

实现二叉树的前序、中序、后序遍历算法,并分析其时间复杂度。

2、二叉搜索树的实现与操作实现二叉搜索树的创建、插入、删除、查找操作。

分析二叉搜索树的性能。

(四)图1、图的存储结构实现邻接矩阵和邻接表两种图的存储结构。

数据结构实验指导书

数据结构实验指导书

数据结构实验指导书实验1:顺序表基本操作一、实验目的1.学会定义线性表的顺序存储类型,实现C程序的基本结构,对线性表的一些基本操作和具体的函数定义。

2.掌握顺序表的基本操作,实现顺序表的插入、删除、查找以及求并集等运算。

3.掌握对多函数程序的输入、编辑、调试和运行过程。

二、实验要求1.预习C语言中结构体的定义与基本操作方法。

2.对顺序表的每个基本操作用单独的函数实现。

3.编写完整程序完成下面的实验内容并上机运行。

4.整理并上交实验报告。

三、实验内容:1.编写程序实现顺序表的下列基本操作:(1)初始化顺序表La。

(2)将La置为空表。

(3)销毁La。

(4)在La中插入一个新的元素。

(5)删除La中的某一元素。

(6)在La中查找某元素,若找到,则返回它在La中第一次出现的位置,否则返回0。

(7)打印输出La中的元素值。

2.编写程序完成下面的操作:(1)构造两个顺序线性表La和Lb,其元素都按值非递减顺序排列。

(2)实现归并La和Lb得到新的顺序表Lc,Lc的元素也按值非递减顺序排列。

(3)假设两个顺序线性表La和Lb分别表示两个集合A和B,利用union_Sq操作实现A=A∪B。

四、思考与提高假设两个顺序线性表La和Lb分别表示两个集合A和B,如何实现A=A ∩B ?一、实验目的1.学会定义单链表的结点类型,实现对单链表的一些基本操作和具体的函数定义,了解并掌握单链表的类定义以及成员函数的定义与调用。

2.掌握单链表基本操作及两个有序表归并、单链表逆置等操作的实现。

二、实验要求1.预习C语言中结构体的定义与基本操作方法。

2.对单链表的每个基本操作用单独的函数实现。

3.编写完整程序完成下面的实验内容并上机运行。

4.整理并上交实验报告。

三、实验内容1.编写程序完成单链表的下列基本操作:(1)初始化单链表La。

(2)在La中插入一个新结点。

(3)删除La中的某一个结点。

(4)在La中查找某结点并返回其位置。

数据结构实验指导书

数据结构实验指导书

数据结构实验指导书适用所有开设数据结构实验的专业雷文赵攀编写概述一、课程目的《数据结构》是一门实践性很强的软件基础课程,为了学好这门课,每个学生必须完成一定数量的上机作业。

通过本课程的上机作业,要求在数据结构的选择和应用、算法的设计及实现等方面加深对课程基础内容的理解,同时,实验题中的问题比平时的练习题要复杂,也更接近实际,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

本课程实验的目的是旨在使学生进一步巩固课堂上所学的理论知识;深化理解和灵活掌握教学内容;培养学生算法设计的能力和解决实际问题的程序设计的能力。

二、实验名称与学时分配三、实验要求⒈问题分析充分地分析和理解问题本身,弄清要求做什么,包括功能要求、性能要求、设计要求和约束以及基本数据特性,数据间的联系等。

⒉数据结构设计针对要求解决的问题,考虑各种可能的数据结构,并且力求从中出最佳方案(必须连同算法一起考虑),确定主要的数据结构及全程变量。

对引入的每种数据结构和全程变量要详细说明其功能、初值和操作特点。

⒊算法设计算法设计分概要设计和详细设计,概要设计着重解决程序的模块设计问题,这包括考虑如何把被开发的问题程序自顶向下分解成若干顺序模块,并决定模块的接口,即模块间的相互关系以及模块之间的信息交换问题.详细设计则要决定每个模块内部的具体算法,包括输入、处理和输出,采用类C语言描述。

⒋测试用例设计准备典型测试数据和测试方案,测试数据要有代表性、敏感性,测试方案包括模块测试和模块集成测试。

⒌上机调试对程序进行编译,纠正程序中可能出现的语法错误,测试前,先运行一遍程序看看究竟将会发生什么,如果错误较多,则根据事先设计的测试方案并结合现场情况进行错误跟踪,包括打印执行路径或输出中间变量值等手段。

三、实验考核每次实验结束后,均应上交实验报告。

数据结构课程实验成绩单独考核,占1个学分。

实验报告应包括如下内容:1、问题描述:简述题目要解决的问题是什么。

数据结构 实验指导书

数据结构 实验指导书

数据结构实验指导书数据结构实验指导书目录数据结构实验指导书 (1)目录 (1)实验指导书概述 (2)上机实验题目 (3)实验一 C语言相关知识复习 (3)一、实验目的 (3)二、实验内容 (3)实验二单链表的插入、删除 (3)一、实验目的 (3)二、实验内容 (3)三、实现提示 (4)实验三栈及其应用 (5)一、实验目的 (5)二、实验内容 (5)实验四二叉树的递归算法 (6)一、实验目的 (6)二、实验内容 (6)实验五图的遍历 (7)一、实验目的 (7)二、实验内容 (7)实验六有序表的查找 (7)一、实验目的 (7)二、实验内容 (7)实验七哈希表 (7)一、实验目的 (7)二、实验内容 (7)实验八内部排序算法的应用 (8)一、实验目的 (8)二、实验内容 (8)实验指导书概述“数据结构”是计算机专业一门重要的专业技术基础课程,是一门关键性核心课程。

本课程系统地介绍了软件设计中常用的数据结构以及相应的存储结构和实现算法,介绍了多种常用的查找和排序技术,并对其进行了性能分析和比较,内容非常丰富。

本课程的学习将为后续课程的学习以及软件设计水平的提高打下良好的基础。

由于以下原因,使得掌握这门课程具有较大难度:∙内容多,时间短,给学习带来困难;∙贯穿全书的动态链表存储结构和递归技术是学习中的重点和难点;∙隐含在各部分的技术和方法丰富,也是学习的重点和难点;∙先修课程中所介绍的专业性知识不多,加大了学习难度。

由于数据结构课程的技术性与实践性,《数据结构课程实验》的设置十分必要。

为了帮助学生更好地学习本课程,理解和掌握算法设计所需的技术,为整个专业学习打好基础,要求运用所学知识,上机解决一些典型问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握所用到的一些技术。

上机实践是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。

通过上机实践,使学生在可能短的时间内对数据结构知识的实践和应用有一个比较全面和系统的认识,达到理论与实践相结合的目的。

数据结构课程实验指导书

数据结构课程实验指导书

《数据结构》实验指导书第一部分前言一、实验的目的《数据结构》是计算机学科一门重要的专业基础课程,也是计算机学科的一门核心课程。

本课程的另一重要教学目的是训练学生进行复杂程序设计的技能和培养良好程序设计的习惯,要做到这一点,上机实习是必须的。

数据结构实验是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。

通常,实验课题中的问题比平时的习题复杂得多,也更接近实际。

实验着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,训练学生实际动手进行程序设计和调试程序的能力,加深对数据结构相关概念和算法的理解。

通过完成本实验课程的实验,学生应学会并掌握本课程的基本和重点知识,深刻理解逻辑结构、物理结构和算法设计之间的关系,初步学会算法分析的方法,并能在一定范围内运用所掌握的分析方法进行算法分析,培养软件工作所需要的动手能力和作为一个软件工作者所应具备的科学工作方法和作风。

二、实验前的准备工作1.每个学生需配备一台计算机,操作系统需Windows2000/XP以上版本,软件需Visual C++6.0以上版本。

2.实验前要求学生按实验要求编写好相关实验程序,准备上机调试运行。

三、实验的步骤(一)建立一个文件夹,如“数据结构”,用来存放自己的所有实验程序,在该文件夹中建立子目录用来存放每个项目(一个子目录一个项目),如“顺序表”,项目中需要的所有文件都存在该文件夹中。

(二)新建一个项目文件1.双击Visual C++ 6.0快捷图标,进入Visual C++ 6.0集成开发环境;或者点击“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”进入Visual C++ 6.0集成开发环境。

2.单击“File”菜单,选择“New”命令3.创建一个项目文件并保存在项目所在文件夹中;3. 创建源程序文件并保存在项目所在文件夹中;4.输入源程序;5.单击“保存”按钮保存源程序。

数据结构实验指导书(本科正式)

数据结构实验指导书(本科正式)

《数据结构》实验指导书实验一线性表【实验目的】1、掌握用Turbo c上机调试线性表的基本方法;2、掌握线性表的基本操作,插入、删除、查找以及线性表合并等运算在顺序存储结构和链式存储结构上的运算;3、运用线性表解决线性结构问题。

【实验学时】4 学时【实验类型】设计型【实验内容】1、顺序表的插入、删除操作的实现;2、单链表的插入、删除操作的实现;3、两个线性表合并算法的实现。

(选做)【实验原理】1、当我们在线性表的顺序存储结构上的第i个位置上插入一个元素时,必须先将线性表中第i个元素之后的所有元素依次后移一个位置,以便腾出一个位置,再把新元素插入到该位置。

若是欲删除第i个元素时,也必须把第i个元素之后的所有元素前移一个位置;2、当我们在线性表的链式存储结构上的第i个位置上插入一个元素时,只需先确定第i个元素前一个元素位置,然后修改相应指针将新元素插入即可。

若是欲删除第i个元素时,也必须先确定第i个元素前一个元素位置,然后修改相应指针将该元素删除即可;3、详细原理请参考教材。

【实验步骤】一、用C语言编程实现建立一个顺序表,并在此表中插入一个元素和删除一个元素1、通过键盘读取元素建立线性表;2、指定一个元素,在此元素之前插入一个新元素;3、指定一个元素,删除此元素。

二、用C语言编程实现建立一个单链表,并在此表中插入一个元素和删除一个元素1、通过键盘读取元素建立单链表;2、指定一个元素,在此元素之前插入一个新元素;3、指定一个元素,删除此元素。

三、用C语言编程实现两个按递增顺序排列线性表的合并1、编程实现合并按递增顺序排列的两个顺序表算法;2、编程实现合并按递增顺序排列的两个单链表算法。

【思考问题】结合实验过程,回答下列问题:1、何时采用顺序表处理线性结构的问题为最佳选择;2、何时采用链表处理线性结构的问题为最佳选择。

【实验报告要求】1、根据对线性表的理解,如何创建顺序表和单链表;2、实现顺序表插入和删除操作的程序设计思路;3、实现链表插入和删除操作的程序设计思路;4、实现两表合并操作的程序设计思路;5、调试程序过程中遇到的问题及解决方案;6、本次实验的结论与体会。

数据结构实验指导书

数据结构实验指导书

数据结构实验指导书院别专业班级姓名计算机学院编实验一线性表的顺序存储实验一、实验目的及要求1、掌握在TC环境下调试顺序表的基本方法2、掌握顺序表的基本操作,插入、删除、查找、以及有序顺序表的合并等算法的实现。

二、实验学时2学时三、实验任务1、生成一个顺序表并动态地删除任意元素和在任意位置插入元素。

2、将两个有序表合并成一个有序表。

四、实验重点、难点1、在顺序表中移动元素。

2、在顺序表中找到正确的插入位置。

五、操作要点(一)顺序表基本操作的实现[问题描述] 当我们要在顺序表的第i个位置上插入一个元素时,必须先将顺序表中第i个元素之后的所有元素依次后移一个位置,以便腾空一个位置,再把新元素插入到该位置。

若是欲删除第i个元素时,也必须把第i个元素之后的所有元素前移一个位置。

[基本要求] 要求生成顺序表时,可以键盘上读取元素,用顺序存储结构实现存储。

[实现提示] 要实现基本操作,可用实现的基本操作,也可设计简单的算法实现。

[程序实现]#include <stdio.h>#include <conio.h>typedef int DataType ;# define maxnum 20typedef struct{int data[maxnum];int length;}SeqList;/*插入函数*/int insert(SeqList *L , int i , DataType x)/* 将新结点x插入到顺序表L第i个位置 */{ int j ;if( i<0 || i>(*L).length +1){ printf(" \n i 值不合法 ! ");return 0;}if((* L).length >=maxnum-1){ printf(" \n 表满不能插入!");return 0;}for(j=(*L).length;j>=i;j--) (*L).data[j+1]=(*L).data[j];(*L).data[i] = x;(*L).length++;return 1;}/*删除函数*/int delete( SeqList *L ,int i)/*从顺序L中删除第i个结点*/{ int j ;if( i<0|| i>(*L).length ){ printf(" \n 删除位置错误 ! ") ;return 0;}for(j=i+1;j<=(*L).length;j++)(*L).data[j-1] =(*L).data[j];(*L).length--;return 1;}/*生成顺序表*/void creatlist(SeqList * L){ int n , i , j ;printf("请输入顺序表 L 的数据个数:\n") ;scanf("%d" , &n) ;for(i=0 ; i<n ; i++){ printf("data[%d] =" , i) ;scanf("%d",&((*L).data[i]));}(*L).length=n-1;printf("\n") ;}/*creatlist *//*输出顺序表 L*/printout(SeqList * L){ int i ;for (i=0 ; i<=(* L).length ; i++){ printf(" data[%d]=", i) ;printf("%d", (*L).data[i]);}/*printout */printf("\n");}main(){ SeqList *L ;char cmd ;int i , t , x;clrscr() ;creatlist(L);do{printf("\ni , I ----- 插入\n") ;printf("d , D ----- 删除\n") ;printf("q , Q ----- 退出\n") ;do{cmd=getchar() ;}while((cmd!='i')&&(cmd!='I')&&(cmd!='d')&&(cmd!='D')&&(cmd!='q')&&(cmd!='Q')); switch(cmd){ case 'i':case 'I':printf("\nPlease input the DATA: ");scanf("%d",&x) ;printf("\nWhere? ");scanf("%d",&i) ;insert(L,i,x) ;printout(L);break ;case 'd':case 'D' :printf("\nWhere to Delete? ");scanf("%d",&i);delete(L,i);printout(L);break ;}}while((cmd!='q')&&(cmd!='Q'));}(二)有序顺序表的合并[问题描述] 已知顺序表la和lb中的数据元素按非递减有序排列,将la和lb表中的数据元素,合并成为一个新的顺序表lc[基本要求] lc中的数据元素仍按非递减有序排列,并且不破坏la和lb表[程序实现]# include <stdio.h># define maxnum 20typedef int DataType ;typedef struct{ DataType data[maxnum] ;int length ;}SeqList ;int MergeQL(SeqList la , SeqList lb , SeqList *lc){ int i , j , k ;if (la.length+1 + lb.length+1>maxnum){ printf("\narray overflow!") ;return 0;}i=j=k=0;while(i<=la.length && j<=lb.length){ if (la.data[i]<=lb.data[j])lc->data[k++]=la.data[i++] ;elselc->data[k++]=lb.data[j++];}/* 处理剩余部分 */while (i<=la.length) lc->data[k++]=la.data[i++];while (j<=lb.length) lc->data[k++]=lb.data[j++];lc->length=k-1;return 1;}main(){ SeqList la={{3,4,7,12,15},4} ;SeqList lb={{2,5,7,15,18,19},5} ;SeqList lc ;int i ;if (MergeQL(la,lb,&lc)){ printf("\n") ;for(i=0;i<=lc.length ; i++)printf("%4d",lc.data[i]);}}六、注意事项1、删除元素或插入元素表的长度要变化。

《数据结构 》实验指导书(3)

《数据结构 》实验指导书(3)

《数据结构》实验指导书实验类别:课内实验实验课程名称:数据结构实验室名称:软件工程实验室实验课程编号:02060002总学时:64 学分: 4适用专业:计算机科学与技术、网络工程、软件工程先修课程:计算机导论及操作、离散数学实验在教学培养计划中地位、作用:数据结构是计算机软件相关专业的主干课程,也是计算机软硬件专业的重要基础课程。

数据结构课程实验的目的是通过实验掌握数据结构的基本理论和算法,并运用它们来解决实际问题。

数据结构课程实验是提高学生动手能力的重要的实践教学环节,对于培养学生的基本素质以及掌握程序设计的基本技能并养成良好的程序设计习惯方面发挥重要的作用。

实验一线性表的应用(2学时)1、实验目的通过本实验,掌握线性表链式存储结构的基本原理和基本运算以及在实际问题中的应用。

2、实验内容建立某班学生的通讯录,要求用链表存储。

具体功能包括:(1)可以实现插入一个同学的通讯录记录;(2)能够删除某位同学的通讯录;(3)对通讯录打印输出。

3、实验要求(1)定义通讯录内容的结构体;(2)建立存储通讯录的链表结构并初始化;(3)建立主函数:1)建立录入函数(返回主界面)2)建立插入函数(返回主界面)3)建立删除函数(返回主界面)4)建立输出和打印函数(返回主界面)I)通过循环对所有成员记录输出II)输出指定姓名的某个同学的通讯录记录5)退出实验二树的应用(2学时)1、实验目的通过本实验掌握二叉的建立和递归遍历、非递归遍历算法,了解二叉树在实际中的应用并熟练运用二叉树解决实际问题。

2、实验内容根据前序遍历的顺序建立一棵二叉树,并根据遍历规则遍历二叉树。

打印输出。

3、实验要求(1)根据前序遍历的顺序创建一棵二叉树;()对二叉树进行前序、中序、后序遍历。

实验三图的应用(2学时)1、实验目的通过本实验掌握图的存储结构与基本运算以及图的深度优先遍历和图的广度优先遍历算法在实际问题中的应用。

2、实验内容按照邻接表对图进行创建,并运用图的深度优先遍历和图的广度优先遍历算法对所创建的无向图进行遍历。

《数据结构与算法》实验指导书2013版

《数据结构与算法》实验指导书2013版

《数据结构与算法》实验指导书大连民族学院信息与通信工程学院2013 年10 月10 日基本要求1.学生必须按时到实验室做实验,不得迟到早退,未经老师批准不得中途离开。

凡迟到者,应给予批评并作适当扣分。

实验课迟到20分钟以上及无故缺席者视为旷课,旷课者不予补做实验,本次实验以零分计。

学生因病或特殊情况不能按时到实验室做实验时,应办理正常请假手续。

请病假必须有医生签字的病假条,请事假必须有班主任签字的事假条。

不符合请假手续的,以旷课论处。

请假的学生由指导教师安排补做实验。

对于未做实验数达三分之一以上(含三分之一)的学生,实验课程按0分计。

2.学生在每次实验课之前,应仔细阅读实验教材,查阅相关的资料,写出预习报告。

预习报告的具体内容包括:实验内容、实验目的、实验原理图、实验步骤、实验数据记录表格等。

实验课前由任课教师检查预习报告,未写预习报告者不予做实验。

3.做实验前,了解设备的原理和正确使用方法。

在没有弄懂仪器设备的使用方法前,不得贸然使用,否则因使用不当造成仪器设备损坏的,根据大连民族学院《仪器设备损坏丢失处理暂行办法》规定进行处理。

实验室内设备在实验过程中不准任意搬动和调换,非本次实验所用仪器设备,未经指导教师允许不得动用。

4.要求每位学生在实验过程中,要具有严谨的学习态度、认真、踏实、一丝不苟的科学作风。

实验过程中学生按照预习的内容进行实验,且重视实验的调试过程,学会如何根据实验现象判断问题所在。

坚持每次实验都要亲自动手,不可“坐车”,每个实验每个学生都要独立完成,不允许抄袭,无特殊原因,中途不得退出实验,否则本次实验无效。

5.实验中若接线、改接、拆线都必须在切断电源的情况下进行,线路连接完毕再送电。

实验中,特别是设备刚投入运行时,要随时注意仪器设备的运行情况,如发现有过热、异味、冒烟、火花等,应立即断电,并请指导老师检查、处理。

6.实验过程中,如出现事故,就马上拉开电源开关,然后找指导教师和实验技术人员,如实反映事故情况,并分析原因和处理事故。

数据结构实验指导书

数据结构实验指导书

《数据结构与算法》实验指导书2013年8月目录实验一 C语言编程复习 (3)实验二线形表基本操作的实现 (7)实验三栈和队列基本操作的实现及应用 (18)实验四二叉树算法的实现 (33)实验五图的算法的实现 (49)实验六查找算法的实现 (69)实验七排序算法的实现 (81)实验一 C语言编程复习一、实验目的1.熟悉C语言的上机环境,进一步掌握C语言的结构特点。

2.理解指针与应用的区别。

3.掌握结构体的使用。

4.掌握简单排序方法。

二、实验内容(1)输入一行字符,计算该行字符中包含多少个单词,单词之间用空格分隔开。

(2)利用add函数求两个复数2+3i和4+5i的和。

(要求用结构体来定义复数)(3)一个班上有30名学生,每个学生的数据作为一个记录,每个记录包括学号、姓名、三门课程的成绩和三门课程平均成绩。

从键盘输入学生的学号、姓名及三门课的成绩。

要求打印三门课程平均成绩最高分的学生记录。

三、实验步骤(1)用数组或字符串获取字符,碰到空格即表示新单词的开始。

(2)要求用结构体来定义复数,包括实部和虚部。

(3)定义一个Student的结构体类型,包含学号、姓名、成绩等成员。

四、实现提示struct student{ char num[6];string name;float score[3];float aver;};五、思考与提高思考为何void Swap1(Student, Student )这个函数无法实现两个学生的交换?六、完整参考程序1、#include <iostream>#include <string>using namespace std;void main(){cout<<"输入n个单词,单词之间用空格隔开"<<endl;string str;getline(cin,str);int num=0;int len=str.size();if(len!=0) num=1;for(int i=0;i<len;i++){if(str[i]==' '){num++;}}cout<<"单词个数为:"<<num<<endl;}也可使用数组实现:#include <iostream>using namespace std;void main(){cout<<"输入n个单词,单词之间用空格隔开"<<endl;char str[100];cin>>str;int num=0;for(int i=0;str[i]!='\0';i++){if(str[i]=' '){num++;}}cout<<"单词个数为:"<<num<<endl;}2、#include<iostream>using namespace std;struct complex{float real;float imag;};complex add(complex x1,complex x2){complex sum;sum.real=x1.real+x2.real;sum.imag=x1.imag+x2.imag;return sum;};void main(){complex x1={2,3},x2={4,5},sum;complex add(complex x1,complex x2);sum=add(x1,x2);cout<<"x1="<<x1.real<<"+"<<x1.imag<<"i"<<" "<<"x2="<<x2.real<<"+"<<x2.imag<<"i"<<endl;cout<<"x1+x2="<<sum.real<<"+"<<sum.imag<<"i"<<endl; }3、#include <iostream>#include<string>#include <iomanip>using namespace std;const int n=3;struct student{ char num[6];string name;float score[3];float aver;};int main(){ int i,j,maxi,max,sum;float average;student stud[n];for (i=0;i<n;i++) //输入学生和成绩信息{cout<<"input scores of student "<<i+1<<endl;cout<<"number:";cin>>stud[i].num;cout<<"name:";cin>>stud[i].name;for (j=0;j<3;j++){cout<<"score "<<j+1<<":";cin>>stud[i].score[j];}cout<<endl;} //输入学生和成绩信息average=0;max=0;maxi=0;for (i=0;i<n;i++){sum=0;for (j=0;j<3;j++) //计算每个同学总成绩sum+=stud[i].score[j];stud[i].aver=sum/3.0; //计算每个同学平均成绩if (sum>max) //将某同学平均成绩与目前的最高平均成绩进行比较选择高的那个为最新最高平均成绩{max=sum;maxi=i;}}cout<<" score1 score2 score3 average"<<endl;for (i=0;i<n;i++) //输出所有同学成绩信息{cout<<setw(8)<<stud[i].num<<" "<<setw(10)<<stud[i].name<<" ";for (j=0;j<3;j++)cout<<setw(3)<<stud[i].score[j]<<" ";cout<<stud[i].aver<<endl; } //输出所有同学成绩信息cout<<"The highest score is :"<<stud[maxi].num<<", "<<stud[maxi].name<<", "<<"The average is:"<<stud[maxi].aver;cout<<", three scores:"; //输出最高平均成绩的同学信息for(j=0;j<3;j++)cout<<stud[maxi].score[j]<<" ";cout<<endl;return 0;}实验二线形表基本操作的实现一、实验目的1.熟悉C语言的上机环境,进一步掌握C语言的结构特点。

2013级本数据结构实验教案-推荐下载

2013级本数据结构实验教案-推荐下载

随机数序列分别用冒泡排序、快速排序、希尔排序和堆排序方法进行排序,并比较它
们的运行时间。
-2-
注意:每三、四个同学组成一个小组。每个实验中的题目,可分别由不同的同学 完成。其它题目可以相互交流,以利于互相提高。
-3-
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术艺料0不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试2下卷2,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并22工且22作尽22下可22都能22可地护以缩1关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编试要5写、卷求重电保技要气护术设设装交备备置底4高调、动。中试电作管资高气,线料中课并敷3试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

《数据结构》实验指导书

《数据结构》实验指导书

《数据结构》实验指导书实验指导书课程名称:数据结构计算机科学与工程系《数据结构》课程组目录前言 .................................... 1 一、实验的作用和目的 ..................... 2 二、实验方式与考核方式................... 2 三、实验要求 ............................. 3 四、实验报告要求......................... 4 五、实验内容 .. (5)实验一线性表应用 (5)实验二栈与队列应用 (10)实验三二叉树的操作 (14)实验四图的遍历 ................................................18 实验五查找算法应用 (21)六、选做实验内容 (24)实验六排序 ................................................ ....24 实验七数组和广义表 (26)实验八串 ................................................ . (27)前言《数据结构》数据结构是计算机科学与技术及相关专业的一门重要专业基础课,它主要介绍线性结构、树型结构、图状结构三种逻辑结构元素的存储实现,在此基础上介绍一些典型算法,以及算法的时间、空间效率分析。

这门课程的主要任务是培养学生的算法设计能力及良好的程序设计习惯。

通过本课程的学习,使学生熟练地掌握数据结构的内在逻辑关系及其在计算机中的表示方法,以及相关基本操作的算法实现;掌握典型算法的设计思想及程序实现;熟悉各种数据结构在计算机科学中的基本应用;培养和训练学生结合实际应用,根据实际问题选取合适的数据结构、存储方案设计出简洁、高效、实用的算法;并为学习《操作系统》、《编译原理》、《数据库原理》等后续课程和研制开发各种系统和应用软件打下扎实的理论与实践基础。

《数据结构》实验指导书

《数据结构》实验指导书

实验一线性表的操作一、实验目的1.掌握在VC++6.0的集成环境中调试程序的基本方法。

2.掌握线性表的插入和删除操作在顺序存储结构和链式存储结构上的实现。

二、实验内容(三选一)(一)线性表的插入和删除操作在顺序存储结构和链式存储结构上的实现。

(1)线性表的插入和删除操作在顺序存储结构上的实现。

其中函数ListInsert_Sq的功能是在顺序线性表中第i个元素之前插入一个元素,函数ListDelete_Sq的功能是删除顺序线性表中第i个元素。

#define LIST_INIT_SIZE 1000#define LISTINCREMENT 10#include <stdio.h>#include <stdlib.h>#include <malloc.h>#define OK 1#define ERROR 0#define OVERFLOW -2//顺序表的存储结构定义typedef int Status;typedef int ElemType;typedef struct{ElemType *elem; //首地址int length; //顺序表的长度int listsize; //顺序表的存储容量} SqList;Status InitList_Sq(SqList &L) // 顺序表的初始化{}// InitList_Sq(Status ListInsert_Sq (SqList &L, int i, ElemType e) //插入{ //在顺序表的第i个位置插入值e为的元素}// ListInsert_SqStatus ListDelete_Sq(SqList &L, int i, ElemType &e) //删除{ //在顺序表的第i个位置删除一个元素,值在存进e中}// ListDelete_Sqint main( ){ElemType y;SqList L;int i,n;InitList_Sq(L); /* 初始化线性表*/printf("输入顺序表需存进的元素数量!\n");scanf("%d",&n);while(n<1 || n>10){printf("请输入1--10之间的整数!\n");scanf("%d",&n);}/* 以上循环语句的功能是控制输入数据个数的合法性,可以修改*/printf("依次输入存进顺序表中的数据元素:\n");for(i=1;i<=n;i++){scanf(“%d”,&y);ListInsert_Sq(L,i,y) ;}/* 以上循环语句的功能是依次输入要存进顺序表中的元素,并存进顺序表*/printf("顺序表中的元素为:");for(i=0; i<L.length; i++) printf("%d\t",L.elem[i]);/* 以上循环语句的功能是依次输出顺序表中的元素*/printf("\n");printf(“输入要删除元素的位置!\n”);scanf(“%d”,&n);if(ListDelete_Sq(L,n,y)==OK) { printf(“删除成功!”); printf("被删除的元素是:%d\n",y); }printf("顺序表中的元素为:");for(i=0; i<L.length; i++) printf("%d\t",L.elem[i]);/* 以上循环语句的功能是依次输出顺序表中的元素*/printf("\n");system("pause");return 0;}实验程序运行示例:(2)线性表的建立、插入、删除、打印和查找操作在链式存储结构上的实现。

实验指导(1-6)

实验指导(1-6)

数据结构与算法上机实验指导书(第一版)信息科学与技术学院2013.10数据结构与算法实验指导本课程是为《数据结构与算法》课所开的实验。

数据结构与算法课程不仅涉及很多概念和理论,同时也是一门实践性很强的技术课程,本课程实验的目的在于培养学生的实践能力,促进理论与实践的结合。

要求学生通过上机编程,熟悉对数据结构的逻辑结构和存储结构,及其相关算法的设计与实现,并进一步提高学生的程序设计能力,并了解如何解决实际上问题,从而加深对程序设计的领会,与此同时使学生在计算机工作原理方面也能够得到很大程度的提高。

实验的目的是使学生理论联系实际,提高学生系统理解与开发能力。

这里所列的实验都为。

具体实验题的选择,不仅要考虑课程内容,而且要考虑学生目前的编程能力,要由浅入深。

教师可通过运行示例或动画,帮助学生理解实验要求。

因为要使用C++的引用,学生应选择自己熟悉的C++语言的开发环境去完成实验。

根据以往的教学经验,GCC++、Visual C++ 6.0、Dev-C++等,由于提供了许多工具,Visual C++是基于框架2.0的集成开发工具,可以提供方便的C++语言开发,所以作为本实验的主要的开发平台。

实验要求尽量在windows操作系统下,也可以在Linux下完成,由于多数没有专门学习Linux,在其平台下做试验比较困难。

实验的硬件要求是能够支持VC++的微机即可。

每个学生都独立在一台计算机上完成自己的实验内容,杜绝学生的抄袭。

实验报告的要求1. 每位同学准备实验报告本,上机前作好充分的准备工作,预习本次实验的内容,事先熟悉与实验有关的软硬件环境。

2. 实验时遵守实验室的规章制度,爱护实验设备,对于实验设备出现的问题,要及时向指导老师汇报。

3. 提交实验文件格式:[班级][学号]_[实验题号].rar例:网络121班学号为03的学生第一个实验的文件名为:w12103_1.rar 打包内容包括(实验报告word2003格式文件、CPP源程序文件)4. 最终的实验报告按照实验名称、实验目的、实验内容(数据结构类型描述、基本运算的函数功能和函数原型以及核心函数的设计、测试数据和运行结果、分析和经验)、实验总结四部分书写,按时上交。

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

数据结构实验指导书实验的目的、内容和要求一、实验目的与要求1. 通过上机实验加深对课程内容的理解,提高软件设计、编写及程序调试的能力。

2. 上机前要做好准备工作,包括程序框图、数据结构以及算法。

3. 按时实验。

4. 服从实验室老师的安排。

5. 独立实验,有问题可以讨论,但不得翻版。

6. 遵守实验室的各项纪律。

7. 要求所编的程序能正确运行,并提交实验报告。

二、实验内容1. 线性表基本操作:熟练掌握线性表的基本操作,及在两种存储结构上的实现。

要求顺序表的数据域是整型数值,完成顺序表的初始化、插入、删除等操作,插入时不允许重复的值插入表中。

要求单链表的数据域是字符串,完成单链表的初始化、插入、删除、逆向等操作。

2. 栈操作:采用顺序存储结构,完成建栈、数据元素入栈与出栈、判断栈空、判断栈满等操作。

3. 二叉树操作:采用二叉链表作为存储结构,完成二叉树的建立,先序、中序和后序以及按层次遍历的操作,求所有叶子及结点总数的操作等。

4. 图的遍历操作:可采用邻接矩阵或邻接表作为存储结构,完成有向图和无向图的DFS 和BFS操作。

5. 数据查找:实现顺序查找、折半查找及二叉排序树上的查找算法,比较它们的查找速度。

实验时所输入的数据可按有序和随机产生去组织。

6. 排序:实现直接插入、冒泡、直接选择、快速、堆、归并等排序算法,比较各种排序算法的速度。

三、实验安排第3,5,7,9,11,13,14,15周周二,实验楼0711四、实验报告要求(1)报告内容包括:实验名称实验目的实验内容问题描述问题分析函数说明程序流程图重要算法解释使用说明调试报告心得体会(2)实验报告的基本要求为:1. 需求分析:陈述程序设计的任务,强调程序要做什么,明确规定:①输入的形式和输入值的范围;②输出的形式;③程序所能达到的功能;④测试数据:包括正确的输入输出结果和错误的输入及其输出结果。

2. 概要设计:说明用到的数据结构定义、主程序的流程及各程序模块之间的调用关系。

3. 详细设计:提交带注释的源程序或者用伪代码写出每个操作所涉及的算法。

4. 调试分析:①调试过程中所遇到的问题及解决方法;②算法的时空分析;③经验与体会。

5. 用户使用说明:说明如何使用你的程序,详细列出每一步操作步骤。

6. 测试结果:列出对于给定的输入所产生的输出结果。

若可能,测试随输入规模的增长所用算法的实际运行时间的变化。

(3)必须打印。

实验1 线性表基本操作(4学时)实验目的1.掌握使用C++上机调试线性表的基本方法。

2.熟练掌握线性表的基本操作,及在两种存储结构上的实现。

3.熟悉顺序表的基本操作,完成顺序表的初始化、插入、删除等操作,插入时不允许重复的值插入表中。

4.熟悉对单链表的一些基本操作,完成单链表的初始化、插入、删除等操作。

实验内容1.实现顺序表的定义和操作。

该程序包括顺序表结构类型以及对顺序表操作的具体的函数定义。

/* 定义顺序表的最大长度为MAXSIZE */#define MAXSIZE 50/* 定义DataType为int类型*/typedef int DataType;/* 顺序表的类型*/typedef struct list{DataType vec[MAXSIZE];int len; //顺序表的长度} SeqList;将此结构定义放在一个头文件sqlist.h中,并在头文件中给出顺序表的函数及常量的定义。

/* 初始化顺序表*/SeqList* Create();/* 清除顺序表*/void Destroy(SeqList *L);/* 顺序表元素信息打印输出*/void Print(SeqList *L);/* 判断顺序表是否为空*/bool IsEmpty(SeqList *L);/* 判断顺序表是否为满*/bool IsFull(SeqList *L);/* 向顺序表中添加数据*/void Append(SeqList *L, DataType data);/*获取顺序表的长度*/int GetLength(SeqList *L);/*删除顺序表中指定位置的元素*/bool Delete(SeqList *L, int pos);/*在顺序表的指定位置中的添加元素*/bool Insert(SeqList *L, int pos, DataType data);//*VS C++ 函数定义void Create(const int &iMax);void Destroy();void Print();bool IsEmpty();bool IsFull();void Append(const T &data);int GetLength();int GetMax();bool Delete(const int &pos);bool Insert(const int &pos,const T &data);2.实现单链表的定义和操作。

该程序包括单链表结构类型以及对单链表操作的具体的函数定义。

程序中的单链表(带头结点)结点为结构类型,结点值为整型。

/* 定义DataType为int类型*/typedef int DataType;/* 单链表的结点类型*/typedef struct LNode{DataType data;struct LNode *next;} LinkedList;/* 初始化单链表*/LinkedList * LinkedListInit();/* 清空单链表*/void LinkedListClear(LinkedList *L);/* 检查单链表是否为空*/int LinkedListEmpty(LinkedList *L);/* 遍历单链表*/void LinkedListTraverse(LinkedList *L);/* 求单链表的长度*/int LinkedListLength(LinkedList *L);/* 从单链表表中查找元素*/LinkedList LinkedListGet(LinkedList *L,int i);/* 从单链表表中查找与给定元素值相同的元素在链表中的位置*/int LinkedListLocate(LinkedList *L, DataType x);/* 向单链表中插入元素*/void LinkedListInsert(LinkedList *L,int i,DataType x);/* 从单链表中删除元素*/void LinkedListDel(LinkedList *L,DataType x);/* 用尾插法建立单链表*/LinkedList LinkedListCreat( );* 3.约瑟夫环问题:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。

一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。

报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1顺序报数,如此下去,直到所有人全部出列为止。

例如N=10,K=3,则正确的出列顺序应为3,6,9,2,7,1,8,5,10,4。

利用单向循环链表存储结构模拟约瑟夫环过程,按照出列的顺序输出各个人的编号。

1.输入数据:输入m的初值,n ,输入每个人的密码,建立单循环链表。

2.写出算法,输出正确的序列。

关键代码typedef struct{ char data;struct lnode *next;}lnode,*linklist;linklist creatlist(){ linklist head,p;char ch;head=(linklist)malloc(sizeof(lnode));head->next=NULL;scanf("%c",&ch);while(ch!='\n'){ p=(linklist)malloc(sizeof(lnode));p->data=ch;p->next=head->next;head->next=p;scanf("%c",&ch); }return head;}linklist findlist(linklist head,int k){ linklist p=head;int m=0;while(p!=NULL&&m<k){ p=p->next;m++; }return p;}int length(linklist head){ int j=0;linklist p=head->next;while(p!=NULL){ p=p->next;j++; }return(j);}insertlist(linklist head,int i,char x){ linklist p,q;if(i<0||i>length(head)) printf("\nErr!");else{ p=findlist(head,i-1);q=(linklist)malloc(sizeof(lnode));q->data=x;q->next=p->next;p->next=q; }}deletelist(linklist head,int i){ linklist p,q;if(i<1||i>length(head)) printf("\nErr!"); p=findlist(head,i-1);q=p->next;p->next=q->next;free(q);}printlist(linklist head){ linklist p=head->next;printf("\nhead-->");while(p!=NULL){ printf("%c",p->data);p=p->next; }printf("-->end");}实验2 堆栈与队列(2学时)实验目的1.定义顺序栈和链栈的结点类型。

2.掌握栈的插入和删除结点在操作上的特点。

3.熟悉对栈的一些基本操作和具体的函数定义。

4.定义顺序队列和链队列的结点类型。

实验内容堆栈的操作1.该程序的功能是实现顺序栈的定义和操作。

该程序包括定义的栈结构类型以及对每一种栈操作的具体的函数定义和主函数。

/* 定义DataType为int类型*/typedef int DataType;/* 栈的结点类型*/#define MAXSIZE 1024typedef struct{DataType data[MAXSIZE];int top;}SeqStack;/* 初始化顺序栈*/SeqStack SeqStackInit()/* 检查顺序栈是否为空*/int SeqStackEmpty(SeqStack S)/* 把S置为空栈*/void ClearStack(SeqStack *S)/* 把元素x压入栈,使其成为新的栈顶元素*/void SeqStackPush(SeqStack *S,DataType x)/* 把栈顶元素弹出*/DataType SeqStackPop(SeqStack *S)/* 取栈顶元素*/DataType SeqStackGetTop(SeqStack S)/*输出顺序栈中的元素*/void SeqStackPrint(SeqStack S)2.试利用堆栈将队列中的元素逆置。

相关文档
最新文档