学生实验报告(六)
学生姓名 实验项目 陈贝贝 学号 冒泡排序 0088225 同组人:无 ■必修 □选修 □演示性实验 □验证性实验 ■操作性实验 □综合性实验 实验地点 指导教师 Z113 毛澄映 实验仪器台号 实验日期及节次 Z113-09 2011-5-5 1-4节
一、实验综述
1、实验目的及要求
实验目的:
1. 理解数组的概念; 2. 学习使用数组的步骤; 3. 熟悉排序算法。 实验要求:
用冒泡排序(bubble-sort)法编写一个排序方法。冒泡排序法遍历几次数组。在每次遍历中,连续对相邻的两个数进行比较。如果是一对降序,则交换它们的值,否则保持不变。这种方法称为冒泡排序法(bubble-sort)或下沉排序法(sinking sort),因为小的值向气泡一样升到顶端,大的值沉到底端。
2、实验仪器、设备或软件
1. 个人计算机PC; 2. Eclipse编程环境。
二、实验过程(实验步骤、记录、数据、分析)
(1) 步骤一
? 在包homework下,新建类Experiment_6,如图所示:
?
根据题意编写冒泡排序方法,程序代码如下:
boolean k = true; //引入中间变量作为判断标记 do {
k = false;
for (int j = 0; j < list.length - 1; j++)
if (list[j] > list[j + 1]) {
// 当左边数比右边数大时,交换相邻的数
public static void bubbleSort(double[] list) {
1
}
?
}
double temp = list[j]; list[j] = list[j + 1]; list[j + 1] = temp; k = true;
} while (k);
编写输出数组的方法,程序代码如下:
for (int i = 0; i < list.length; i++) }
System.out.print(list[i]+\);
public static void printList(double[] list) {
(2) 步骤二
? 在主函数中对数组进行初始化,调用编写的方法,编写程序如下:
public static void main(String[] args) {
?
double[] myList = { 4.0, 4.2, 1.9, 3.2, 3.3, 3.2, 2.5 }; System.out.println(\初始数列为: \); printList(myList); bubbleSort(myList); System.out.println();
System.out.println(\冒泡排序后的数列为: \); printList(myList); }
验证程序,测试结果是否正确。
三、结论
1、实验结果
2
2、分析讨论
1. 通过编写程序,理解了数组的概念,掌握了如何对数组进行定义以及初始化、输出等。 2. 课本上介绍的时选择排序,通过这个程序,了解到不同的排序思想,并将冒泡法和排
序法进行对比,理解到不同排序方法有着不同的排序效率。
3. 理解到编程的目的不仅仅是在于得到正确的结果,还要在得到结果的同时,选择最优
的方案来实现。
四、指导教师评语及成绩:
评语:
该实验步骤正确。程序设计较合理,结果正确。实验报告格式正确,文档规范,描述较清
晰。实验总结较全面,实验分析较深刻。通过实验,可以看出该生能理解能所用语言知识,掌握了运用该知识的方法与技能,较好地完成了实验任务。达到实验目的。
3
成绩: 84 指导教师签名:毛澄映
批阅日期:2011-5-13
4
学生实验报告(七)
学生姓名 实验项目 陈贝贝 学号 检验回文串 0088225 同组人:无 ■必修 □选修 □演示性实验 □验证性实验 ■操作性实验 □综合性实验 实验地点 指导教师 Z113 毛澄映 实验仪器台号 实验日期及节次 Z113-09 2011-5-12 1-4节
一、实验综述
1、实验目的及要求
实验目的:
1. 进一步熟悉字符串类; 2. 了解如何使用命令行参数; 3. 掌握常用的字符串处理算法。 实验要求:
编写程序,从命令行参数读取一个字符串并检验它是否为回文。
2、实验仪器、设备或软件
1. 个人计算机PC; 2. Eclipse编程环境。
二、实验过程(实验步骤、记录、数据、分析)
(1) 步骤一
? 在包homework下,新建类Experiment_7,如图所示:
?
导入显示文本框的数据包:import javax.swing.JOptionPane;,根据题意分析,编写检验字符串是否为回文串的方法,代码如下
public static boolean isPalindrome(String s) { String newString = reverse(s); return newString.equals(s); }
public static String reverse(String s) { String newString = new String(); for (int i = 0; i < s.length(); i++) { newString += s.charAt(s.length() - 1 - i);
1