当前位置:文档之家› 跟我学Java面向对象程序设计技术及应用——应用冒泡排序算法实现数组元素排序的Java程序实现示例

跟我学Java面向对象程序设计技术及应用——应用冒泡排序算法实现数组元素排序的Java程序实现示例

杨教授工作室,版权所有7 ,盗版必究, 7/29 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
*/ int tempVariable; /** *对待排序的数组进行初始化,目前数组中的各个元素是预先定义的,后续可以由用户输入 */ someOneArray = new int[]{0,-3,-2,1,5,3,4,2,-1,6}; /** * 显示出未排序前的数组中的各个元素值 */ System.out.println("未排序前的数组中的各个元素值:"); for (int loopCounterIntOne = 0;
杨教授工作室,版权所有2 ,盗版必究, 2/29 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
2、在工程项目创建的对话框中输入项目名称 JavaDe钮,将创建出一个空的 Java 应用程序项目
杨教授工作室,版权所有3 ,盗版必究, 3/29 页
loopCounterIntOne < someOneArray.length-1;loopCounterIntOne++){ for(int loopCounterIntTwo = 0;
loopCounterIntTwo <someOneArray.length-1-loopCounterIntOne; loopCounterIntTwo++){
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
跟我学 Java 面向对象程序设计技术及应用——应用冒泡排序算法实 现数组元素排序的 Java 程序实现示例
1.1 什么是冒泡排序算法
1.1.1 什么是冒泡排序算法 对于什么是冒泡排序算法(Bubble Sort),读者可以查询百科。在百科中的定义如下(如
loopCounterIntOne < someOneArray.length; loopCounterIntOne++) { System.out.print(someOneArray[loopCounterIntOne]+" "); } /** * 对数组中的各个元素值应用冒泡排序算法实现排序 */ for(int loopCounterIntOne = 0;
个元素的值相等、但元素在位置上并没有相邻,那么即使通过前面的两两交换把两个元素相 邻起来,这时候也不会对它们进行交换。所以相同元素值的两个元素的前后顺序在此算法中 并没有被改变,故冒泡排序是一种稳定排序算法。
1.2 应用冒泡排序算法实现数组元素排序的 Java 程序实现示例
1.2.1 在 MyEclipse 开发工具中创建 Java 工程项目 1、启动 MyEclipse 开发工具,并选择 Java Project 工程项目
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
1.1.3 冒泡排序算法的主要特性 -- 算法稳定性 冒泡排序其实就是把一批数据中比较小的元素往前调或者把大的元素往后调,而比较是
相邻的两个元素进行比较,数据交换也只发生在这两个元素之间——两两比较、两两交换。 但如果相邻的两个元素值相等,则不会再进行交换的(减少了交换的次数)。而如果两
2、在类创建的对话框中输入包名称为 com.bluedream.demo,类名称为 JavaBubbleSort,并选 择需要在 JavaBubbleSort 类中创建出 main()方法
杨教授工作室,版权所有5 ,盗版必究, 5/29 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
3、点击对话框中的完成(Finish)按钮,将创建出一个空的 Java 程序类,在该类中自动地包 含有 main()方法
下示图显示具体的定义):它重复地走访过要排序的元素列,依次比较两个相邻的元素,如 果顺序(如从大到小、首字母从 Z 到 A)错误就把他们交换过来。走访元素的工作是重复地 进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
经过这样的排序后,最后的元素应该会是最大的数(当然,也可能是最小的数,取决于 数据的排序格则和要求)。因此,一批数据中的较小元素会经由这样的“排序交换”慢慢“浮 (冒泡)”到这批数据的顶端(升序或降序排列) ——此排序算法由此得名。 1.1.2 冒泡排序算法的实现原理
在程序设计实现方面主要是应用双层嵌套 for 循环进行冒泡排序编程实现,参考下面示例 代码中的嵌套 for 循环的实现代码。 package com.bluedream.demo; public class JavaBubbleSort {
public static void main(String[] args) { /** * 定义存储待排序的数组 */ int[] someOneArray; /** * 定义一个变量,用来存储临时的数据
比较两个相邻的元素,将值大的元素交换至右端。对每一对相邻的元素都完成同样的比 较工作直到最后一对,针对所有的元素都重复以上的步骤,除了最后一个元素,直到没有任 何一对数字需要进行比较为止。
因此,在程序设计实现方面,则要运用双层嵌套循环进行冒泡排序编程实现。
杨教授工作室,版权所有1 ,盗版必究, 1/29 页
杨教授工作室,版权所有6 ,盗版必究, 6/29 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
4、编程示例中的功能实现的程序代码 在该 Java 程序中,定义待排序的数组(目前数组中的各个元素是预先定义的,后续可以
由用户输入),然后对该数组中的各个元素值应用冒泡排序算法实现排序,并打印出排序前 和排序后的数组中的各个元素值,以方便进行对比。 (1)程序代码示例
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
1.2.2 在创建的 Java 应用程序项目中添加示例程序类 1、右击所创建的 Java 应用程序项目名称 JavaDemo,在弹出的快捷菜单中选择 New 新建一个 Java 程序类
杨教授工作室,版权所有4 ,盗版必究, 4/29 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
相关主题