冒泡排序优化JAVA
本文对传统的冒泡排序进行了一些优化,减少了循环次数。
时间复杂度

算法稳定性
/**
* 冒泡排序 JAVA
* 优化后的冒泡排序
* 增加一个isSort本轮是否进行了排序的判断,如果没有进行排序则说明排序已经结束直接退出
* @author Administrator
* @time 20160731
*/
public abstract class BubblingSort {
////////////////开始冒泡排序
public static int[] Sort(int[] array )
{
boolean isSort=false;//判断是否进行过排序,默认为没有进行排序,如果没有进行排序则直接结束
for (int i = 0; i < array.length-1; i++) {
isSort=false;//每轮排序前先将排序标识置位false
for (int j = 0; j < array.length-i-1; j++) {
if(array[j]>array[j+1])
{
int temp =array[j+1];
array[j+1]=array[j];
array[j]=temp;
isSort=true;//如果为true则本轮进行了交换,继续下一轮
}
}
if(!isSort)break;//如果本轮没有进行过循环,结果为false直接跳出,不进行下一轮的检索
}
return array; //return array
}
///////////结束冒泡排序
}
自己在里面加了个判断是否已经排序结束,如果排序已经完成,则立即结束排序,不进行继续循环检测!
我在另一个类里面调用的方法:
public class arithmetic_TestClass {
public static void main(String[] args) {
//测试数组 int 型
int array[]={4,9,5,3,7,6,8,3,2,1};
//冒泡排序 优化过的冒泡排序
array=BubblingSort.Sort(array);
for (int i : array) {
System.out.print(i+" ");
}
}
}
执行的结果如下:
1 2 3 3 4 5 6 7 8 9
成功实现!
冒泡排序优化JAVA的更多相关文章
- 怎么优化JAVA程序的执行效率和性能?
现在java程序已经够快的了,不过有时写出了的程序效率就不怎么样,很多细节值得我们注意,比如使用StringBuffer或者StringBuilder来拼接或者操作字符串就比直接使用String效率高 ...
- Tomcat 优化 java.lang.OutOfMemoryError: Java heap space 的解决方法
Tomcat 优化 java.lang.OutOfMemoryError: Java heap space 的解决方法 java.lang.OutOfMemoryError: Java heap sp ...
- jvm系列(十):如何优化Java GC「译」
本文由CrowHawk翻译,是Java GC调优的经典佳作. 本文翻译自Sangmin Lee发表在Cubrid上的"Become a Java GC Expert"系列文章的第三 ...
- 冒泡排序之Java实现
冒泡排序之Java实现 一.方法一 package cn.com.zfc.lesson21.sort; import java.util.Arrays; /** * * @title BubbleSo ...
- jvm系列(七):如何优化Java GC「译」
本文由CrowHawk翻译,地址:如何优化Java GC「译」,是Java GC调优的经典佳作. Sangmin Lee发表在Cubrid上的”Become a Java GC Expert”系列文章 ...
- jvm系列(十):如何优化Java GC「
转自:https://www.cnblogs.com/ityouknow/p/7653129.html 本文由CrowHawk翻译,地址:如何优化Java GC「译」,是Java GC调优的经典佳作. ...
- 冒泡排序,冒泡性能优化--java实现
冒泡排序说明: 一次比较两个元素,如果他们的顺序错误就把他们交换过来. 重复地进行直到没有再需要交换,也就是说已经排序完成. 越小的元素会经由交换慢慢“浮”到数列的顶端. 冒泡排序算法的运作如下: 比 ...
- 冒泡排序及优化(Java实现)
向大端冒泡 public class BubbleSort { public static <T extends Comparable<? super T>> void sor ...
- Java基础(45):冒泡排序的Java封装(完整可运行)
1.冒泡排序 package lsg.ap.bubble; import java.util.*; public class BubbleSort { public static void bubbl ...
随机推荐
- php读取zip文件(删除文件,提取文件,增加文件)实例
<?php /* php 从zip压缩文件中提取文件 */ $zip = new ZipArchive; if ($zip->open('jQuery五屏上下滚动焦点图代码.zip') = ...
- Testin云测试平台初体验
这几天偶然接触到了一个叫做Testin的云测试平台,经过一番体验,感觉还是不错的,因为里面提供了大量的测试机型,可以针对Android手机的严重碎片化现象做出比较全面的测试,同时Testin的测试内容 ...
- OKR——Objectives and Key Results
1.OKR天生就有两个典型特征: 1)在精不在多——因为它是用来明确工作重心的(set one's priorities): 2)全体公开.透明——当你能够看到你的同级(peers).小老板(直接上级 ...
- CSS子元素居中(父元素宽高已知,子元素未知)
<style> .container{width:400px; height:400px; position:relative;} .center{position:absolute; l ...
- Office2007在安装、卸载过程中出错的解决办法
Micorsoft office professional plus 2007在安装过程中出错,错误1706 如果在安装OFFICE 2007的 时候,遇到“Microsoft Office 2007 ...
- Oracle优化查询技巧
1. WHERE子句中的连接顺序:Oracle采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的 ...
- UVa 10055 - Hashmat the Brave Warrior
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=94&page=s ...
- 4.Mybatis的输入映射(parameterType类型解析)
前面提到过Mybatis可以对输入的参数进行映射,那么现在我们来看一下输入映射,关于输入映射大概可以分为几种情况来学习: 1.基本的类型 2.实体类 3.包装类 1.参数是基本的类型(int,Stri ...
- JS出现illegal character非法字符提示
引用js文件,js文件内的汉字在页面显示乱码 解决方式: a. 保持js文件编码与jsp页面编码格式一致: b. 在引入js文件时,在script中添加charset=""属性,指 ...
- table奇偶行设置颜色代码