实验报告三 栈和队列
班级: 姓名: 学号: 专业:
一、 实验目的:
(1) 掌握栈的基本操作的实现方法。
(2) 利用栈先进后出的特点,解决一些实际问题。 (3) 掌握链式队列及循环队列的基本操作算法。 (4) 应用队列先进先出的特点,解决一些实际问题。 二、 实验内容:
1、 使用一个栈,将一个十进制转换成二进制。 粘贴源程序:
package Word1;
public class Node
T data; Node
public Node(T a,Node
this.data=a; this.next=n; this(a,null);
------------------------------------
package Word1;
public class Stack
public Node
public void push(T a){ }
public T Out(){ }
T a=this.Top.data; this.Top=this.Top.next; return a;
this.Top=new Node
---------------------------------
package Word1;
import java.util.*;
public class Test { }
static Scanner scan=new Scanner(System.in); static int temp=0; static int a=0;
static Stack
temp=scan.nextInt(); while(true){ }
while(s.Top!=null){ }
System.out.printf(\,s.Out());
a=temp%2; s.push(a); temp=temp/2; if(temp==0)
break;
粘贴测试数据及运行结果:
2、回文是指正读反读均相同的字符序列,如“acdca”、“dceecd”均是回文,但“book”不是回文。利用1中的基本算法,试写一个算法判定给定的字符串是否为回文。(提示:将一半字符入栈,依次弹出与另一半逐个比较) 粘贴源程序:
----------------------------------------
package Word1;
import java.util.*; public class Test1 { }
static Scanner sc=new Scanner(System.in); static char[] c={'a','b','c','b','a'};
static Stack
public static String One(){ }
public static String Two(){ }
for(int i=0;i<(c.length/2);i++){ }
for(int i=c.length/2;i return \该字符串是回文\; if(s.Out()!=c[i]) return \该字符不是回文\; s.push(c[i]); for(int i=0;i<(c.length/2);i++){ } for(int i=c.length/2+1;i return \该字符串是回文\; if(s.Out()!=c[i]) return \该字符串不是回文\; s.push(c[i]); if(c.length%2!=0){ } else{ } System.out.println(Two()); System.out.println(One()); -------------------------------------------- 粘贴测试数据及运行结果: 3、 使用3个队列分别保留手机上最近10个“未接来电”、“已接来电”、“已拨电话”。 粘贴源程序: package Word3; import java.util.*; public class Queue LinkedList public void enQ(E a){ } public E deQ(){ } public boolean isEmpty(){ } public void Pri(){ while((list.isEmpty())) return list.isEmpty(); return list.removeLast(); list.addLast(a); list=new LinkedList } } System.out.printf(\,this.deQ()); ------------------------------- package Word3; import java.util.*; public class Test { static Queue public static void Frame(){ } static private void T2() { int c; int[] a={22324,321321,222333}; for(int i=0;i System.out.println(\请选择功能:\); System.out.println(\、查询 2、增加\); c=sc.nextInt(); if(c==1){ } else{ c=sc.nextInt(); while(!(list2.isEmpty())) System.out.printf(\,list2.deQ()); list2.enQ(a[i]); int c=0; System.out.println(\请选择记录类型:\); System.out.println(\、未接来电 2、已接来电 3、已拨电话\); switch(c=sc.nextInt()){ } case 1:T1();break; case 2:T2();break; case 3:T3();break; Frame(); 搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育实验三 栈和队列 全文阅读和word下载服务。
相关推荐: