冒泡排序算法实验报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//输出:升序排列的数组A[0..n-1]
fori←0ton-2do
forj←0ton-2-ido
ifA[j+1] < A[j]
swap A[j] and A[j+1]
Ⅲ、Java算法代码:
import java.util.*;
public class Maopao {
public static void main(String args[]){
}
}catch(Exception ea){
System.out.println(ea);
}
}
}
Ⅳ、运行结果显示:
图(1) 图(2)
Ⅴ、实验结论:
冒泡排序对个项目需要 的比较次数,冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,不会对他们交换;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。
算法设计与分析基础
实验报告
应用数学学院
二零一六年六月
实验冒泡排序算法
一、实验性质设计
二、实验学时14学时
三、实验目的
1、掌握冒泡排序的方法和原理。
2、掌握java语言实现该算法的一般流程。
四、实验内容
1、数组的输入。
2、输入、输出的异常处理。
3、冒泡排序的算法流程。
4、运行结果的输出。
五、实验报告
Ⅰ、算法原理
int n=5;
int i=0,j=0;
int a[]=new int[n];
int sm=0;
System.out.println("请输一组数字:");
Scanner sc= new Scanner(System.in);
try{
while(i<n){
a[i]=sc.nextInt();
i++;
比较相邻元素,若他们是逆序的话,就交换它们的位置。重复多次以后,最终,最大的元素就沉到了列表的最后一个位置。第二遍操作将最大的元素沉下去。操作直到n-1遍以后,就排好序了。
Ⅱ、书中源代码
算法bubbleSort(A[0..n-1])
//该算法用冒泡排序对给定的数组A[0..n-1]排序
//输入:一个可排序数组A[ห้องสมุดไป่ตู้..n-1]
}
for (i=0;i<=n-1;i++){
for(j=0;j<n-1-i;j++){
if(a[j+1]<a[j]){
sm=a[j+1];
a[j+1]=a[j];
a[j]=sm;
}
}
}
System.out.println("冒泡排序输出结果如下:");
for (i=0;i<n;i++){
System.out.println(a[i]);
fori←0ton-2do
forj←0ton-2-ido
ifA[j+1] < A[j]
swap A[j] and A[j+1]
Ⅲ、Java算法代码:
import java.util.*;
public class Maopao {
public static void main(String args[]){
}
}catch(Exception ea){
System.out.println(ea);
}
}
}
Ⅳ、运行结果显示:
图(1) 图(2)
Ⅴ、实验结论:
冒泡排序对个项目需要 的比较次数,冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,不会对他们交换;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。
算法设计与分析基础
实验报告
应用数学学院
二零一六年六月
实验冒泡排序算法
一、实验性质设计
二、实验学时14学时
三、实验目的
1、掌握冒泡排序的方法和原理。
2、掌握java语言实现该算法的一般流程。
四、实验内容
1、数组的输入。
2、输入、输出的异常处理。
3、冒泡排序的算法流程。
4、运行结果的输出。
五、实验报告
Ⅰ、算法原理
int n=5;
int i=0,j=0;
int a[]=new int[n];
int sm=0;
System.out.println("请输一组数字:");
Scanner sc= new Scanner(System.in);
try{
while(i<n){
a[i]=sc.nextInt();
i++;
比较相邻元素,若他们是逆序的话,就交换它们的位置。重复多次以后,最终,最大的元素就沉到了列表的最后一个位置。第二遍操作将最大的元素沉下去。操作直到n-1遍以后,就排好序了。
Ⅱ、书中源代码
算法bubbleSort(A[0..n-1])
//该算法用冒泡排序对给定的数组A[0..n-1]排序
//输入:一个可排序数组A[ห้องสมุดไป่ตู้..n-1]
}
for (i=0;i<=n-1;i++){
for(j=0;j<n-1-i;j++){
if(a[j+1]<a[j]){
sm=a[j+1];
a[j+1]=a[j];
a[j]=sm;
}
}
}
System.out.println("冒泡排序输出结果如下:");
for (i=0;i<n;i++){
System.out.println(a[i]);