java排序之冒泡排序
代码:
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排序之冒泡排序的更多相关文章
- Java 排序算法-冒泡排序及其优化
Java 排序算法-冒泡排序及其优化 什么是冒泡排序 基本写法 优化后写法 终极版本 源码及测试 什么是冒泡排序 这里引用一下百度百科上的定义: 冒泡排序(Bubble Sort),是一种计算机科学领 ...
- 【java排序】冒泡排序、快速排序
冒泡排序 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地 进行直到没有再需要交换,也就是说该数列已经排序完成.这 ...
- java排序,冒泡排序,选择排序,插入排序,快排
冒泡排序 时间复杂度:O(n^2) 空间复杂度O(1) 稳定性:稳定 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.这步做完后,最 ...
- Java排序算法——冒泡排序
import java.util.Arrays; //================================================= // File Name : Bubble_S ...
- 常用Java排序算法
常用Java排序算法 冒泡排序 .选择排序.快速排序 package com.javaee.corejava; public class DataSort { public DataSort() { ...
- java数组降序排序之冒泡排序
import java.util.Arrays;//必须加载 class Demo{ public static void main(String []args){ int[] arr={3,54,4 ...
- java排序算法(四):冒泡排序
java排序算法(四):冒泡排序 冒泡排序是计算机的一种排序方法,它的时间复杂度是o(n^2),虽然不及堆排序.快速排序o(nlogn,底数为2).但是有两个优点 1.编程复杂度很低.很容易写出代码 ...
- java排序算法之冒泡排序(Bubble Sort)
java排序算法之冒泡排序(Bubble Sort) 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数 ...
- [Java算法] -- 1. 常用排序之冒泡排序和选择排序
使用Java语言实现冒泡排序和选择排序 推荐一个数据结构可视化的网站:http://zh.visualgo.net/zh (暂时访问不了) 对排序不太熟悉的朋友,建议去上面的网站学习一下,你将会发现一 ...
随机推荐
- Could not find com.android.tools.lint:lint-gradle:26.1.2.
allprojects { repositories { flatDir { dirs 'libs' } jcenter() google() }}
- Rime输入工具的修改与编译安装
作为一个比较“事儿多”的五笔用户,在使用过几乎所有的主流输入工具后,我最终选择了定制性非常高(同时也比较难以上手)的Rime.刚开始是在Windows下使用小狼毫0.9.30版,这个工具在上屏速度.热 ...
- wifi方式调试android程序
1. 通过wifi, 利用adb来连接手机. 在pc的cmd中输入命令: adb connect 192.168.1.100 其中adb就是手机的ip. 如果连接成功, 就可以进入android的sh ...
- codeforces Codeforces Round #273 (Div. 2) 478B
B. Random Teams time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- HTML: 简单的悬停效果
1. [图片] 捕获.jpg 2. [代码][CSS]代码 body { background: #000; overflow-y: scroll; } .items { ...
- zoj 2316 Matrix Multiplication 解题报告
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2316 题目意思:有 N 个 点,M 条 边.需要构造一个N * ...
- hdu 1361.Parencodings 解题报告
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1361 题目意思: 根据输入的P-sequence , 输出对应的W-sequence. P-se ...
- the art of seo(chapter one)
preface:Andy Johns (@ibringtraffic):growth strategist@Wealthfront ***1.Search Reflecting Consciousne ...
- git bash使用端口转发连接服务器
之前的配置是 url = user@xx.xx.xx.xx:/home/tutu/thelib/ww.git xx.xx.xx.xx是服务器的外网地址,其内网地址是zz.zz.zz.zz 但是现在服务 ...
- 数学题--On Sum of Fractions
题目链接 题目意思: 定义v(n)是不超过n的最大素数, u(n)是大于n的最小素数. 以分数形式"p/q"输出 sigma(i = 2 to n) (1 / (v(i)*u(i) ...