代码:

 package com.cn.algorithm_arithmetic算法;
/**
* 本程序记录了经典排序算法之冒泡排序
* @author Administrator
*
*/ public class Bubble_Sort {
//冒泡排序优化前
public static void bubble_sort(int [] a){
for (int i = 0; i < a.length-1; i++) {
for (int j = 0; j < a.length-i-1; j++) {
if (a[j+1] < a[j]){
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
} //冒泡排序优化后
public static int[] bubble_sort_optimize(int a[]){
for (int i = 0; i < a.length-1; i++) {
boolean exchange = false;
for (int j = 0; j < a.length-i-1; j++) {
if (a[j+1]<a[j]){
int tmp = a[j];
a[j] = a[j+1];
a[j+1]=tmp;
exchange = true;
} }
if (exchange = false){
break;
}
}
return a;
} public static void main(String[] args) {
System.out.println("--------------优化前--------------");
System.out.print("冒泡排序优化前原始数据:");
int a[] = new int[5];
for (int i = 0; i < a.length; i++) {
a[i] = (int)(Math.random()*100);
System.out.print(a[i]+" ");
}
bubble_sort(a);
System.out.print("\n冒泡排序优化前新数据:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
System.out.println("\n---------------优化后--------------");
//冒泡排序
System.out.print("冒泡排序优化后原始数据:");
int a1[] = new int[5];
for (int i = 0; i < a1.length; i++) {
a1[i] = (int)(Math.random()*100);
System.out.print(a1[i]+" ");
}
bubble_sort_optimize(a1);
System.out.print("\n冒泡排序优化后新数据:");
for (int i = 0; i < a1.length; i++) {
System.out.print(a1[i]+" ");
}
} }

冒泡排序的时间复杂度:理想O(n),平均O(n^2),助记口决:外管轮询内管排

java排序之冒泡排序的更多相关文章

  1. Java 排序算法-冒泡排序及其优化

    Java 排序算法-冒泡排序及其优化 什么是冒泡排序 基本写法 优化后写法 终极版本 源码及测试 什么是冒泡排序 这里引用一下百度百科上的定义: 冒泡排序(Bubble Sort),是一种计算机科学领 ...

  2. 【java排序】冒泡排序、快速排序

    冒泡排序 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地 进行直到没有再需要交换,也就是说该数列已经排序完成.这 ...

  3. java排序,冒泡排序,选择排序,插入排序,快排

    冒泡排序 时间复杂度:O(n^2) 空间复杂度O(1) 稳定性:稳定 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.这步做完后,最 ...

  4. Java排序算法——冒泡排序

    import java.util.Arrays; //================================================= // File Name : Bubble_S ...

  5. 常用Java排序算法

    常用Java排序算法 冒泡排序 .选择排序.快速排序 package com.javaee.corejava; public class DataSort { public DataSort() { ...

  6. java数组降序排序之冒泡排序

    import java.util.Arrays;//必须加载 class Demo{ public static void main(String []args){ int[] arr={3,54,4 ...

  7. java排序算法(四):冒泡排序

    java排序算法(四):冒泡排序 冒泡排序是计算机的一种排序方法,它的时间复杂度是o(n^2),虽然不及堆排序.快速排序o(nlogn,底数为2).但是有两个优点 1.编程复杂度很低.很容易写出代码 ...

  8. java排序算法之冒泡排序(Bubble Sort)

    java排序算法之冒泡排序(Bubble Sort) 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数 ...

  9. [Java算法] -- 1. 常用排序之冒泡排序和选择排序

    使用Java语言实现冒泡排序和选择排序 推荐一个数据结构可视化的网站:http://zh.visualgo.net/zh (暂时访问不了) 对排序不太熟悉的朋友,建议去上面的网站学习一下,你将会发现一 ...

随机推荐

  1. linux apache服务器

    apache服务器 服务端功能是侦听和响应客户端的http请求.http协议的默认端口是80. 1996年以来,apache成为最流行的web服务器. IIS web服务器只能安装在windows上. ...

  2. Dockerfile指令:

    Dockerfile指令: 第一行注释,指令是大写字母开头, FROM指令: FROM<image>,后面跟镜像名, FROM<image>:<tag>,后面跟镜像 ...

  3. c# 获取当前行的位置信息

    StackTrace st = new StackTrace(new StackFrame(true)); StackFrame sf = st.GetFrame(0); //文件位置 Console ...

  4. Python升级已经安装的第三方库

    Python升级已经安装的第三方库 主要两步操作,查看需要升级库,升级库.如下: pip list # 列出安装的库 pip list --outdated # 列出有更新的库 pip install ...

  5. Long转换为date

    public static void main(String[] args) { Long time = System.currentTimeMillis(); System.out.println( ...

  6. 客户端调用cxf发布的服务

    import java.util.ArrayList; import java.util.List; import javax.xml.namespace.QName; import org.apac ...

  7. static静态数据的初始化

    package com.demo.book; public class StaticInitialization { static Table table = new Table(); static ...

  8. html5--5-13 渐变色

    html5--5-13 渐变色 学习要点 掌握渐变色的绘制方法 渐变色绘制方法 createLinearGradient() 创建线性渐变 createLinearGradient(x1,y1,x2, ...

  9. windows 下python搭建环境

    一.python安装 1,首先访问https://www.python.org/downloads/windows/去下载python版本. 2. 选择3.5版本,installer文件类型(因为3. ...

  10. 在js里UTF-8与GB2312的互转

    js的函数如下: function GB2312UTF8() { this.Dig2Dec = function(s) { var retV = 0; if (s.length == 4) { for ...