实验三 实验报告.docx
河北水利电力学院算法与数据结构实验报告2021 2022 学年 第 2 学期专业班级:电子信息工程2002学 号: 姓 名: 胡昊楠指导教师:罗海兵 何新电气自动化系制实验名称实验三栈和队列操作实验课程名称算法与数据结构分组情况组长焦曜泽组 员胡昊楠日 期2022 年 5 月 22 日 2. 30-4. 10教师评阅与成绩(请在综合评定相应选项打“)序号评语等级综合评定1遵守实验纪律,完成全部实验任务 实验态度认真,爱护实验设备 实验思路清晰新颖,勇于创新实验结论正确,分析合理 报告内容完整,书写整齐优秀2遵守实验纪律,完成全部实验任务 实验态度认真,爱护实验设备 实验结论正确,分析较为合理 报告内容完整,书写较为整齐良好3遵守实验纪律,基本完成实验任务 实验态度较为认真,爱护实验设备 实验结论基本正确,分析基本合理 报告内容基本完整,书写基本合格中4遵守实验纪律,完成部分任务实验态度一般,较为爱护实验设备 实验结论部分正确,分析部分合理报告内容完整,书写基本合格及格5未遵守实验纪律,未完成实验任务 实验态度较差,未爱护实验设备 实验结论错误,分析不合理 报告内容不完整,书写不合格不及格评阅教师:年 月 日实验三栈和队列操作实验实验目的1、熟悉栈和队列设计,使用栈和队列解决算法设计问题。2、理解栈和队列的作用。3、掌握递归算法设计方法。二、实验器材硬件:电脑。软件:Myeclipse或其他Java开发软件。三、实验内容1、使用排序循环双链表存储队列元素,实现PriorityQueueT优先队列类。2、用递归算法实现字符串的逆转操作。3、输出一个集合(n个元素)的所有子集。4、输出一个集合(n个元素)的全排列。例如,集合A,B,C的全排列如下:ABC, ACB, BAC,CAB, CBAo四、四、实验代码public class HaniTower public static void main(String arges)int f = 3;HaniTower t = new HaniTower。;t.exchange(f 'a'/b'/c');public void exchange(int n, char a, char b, char c)(if(n=l)System.out.println("The"+n+"from"+a+"to"+c);)elseexchange(n-l,a,c,b);System.out.println("The"+n+"from"+a+"to"+c); exchange(n-l,b,a,c);)import java.util.PriorityQueue;public class QueueDemo public static void main(String args)/ TODO Auto-generated method stub PriorityQueue<Integer> queue = new PriorityQueue<Integer>();int array=a3>5>7,2,4,6;for (int i= 0;i < array.length; i+) queue.add(arrayi);int index=0;while (!queue.isEmpty() arrayindex=queue. poll();index+;for (int i=0;i< array.length;i+) System.out.println(arrayi);)import java.util.Stack;public class StackDemo public static void main(String args) String school="河北水利电力学院”; Stack<Character>myStack=new Stack<Character>(); char charArray=school.toCharArray();for (char c:charArray) myStack.push(c);)while (!myStack.isEmpty() System.out.print(myStack.pop();五、实验结果HaniTowerThelfromatoc The2fromatob ThelfromctobThe3fromatoc ThelfrombtoaQueueDemo1234567StackDemo院学力电利水北河六、实验收获