3 Java 冒泡排序法
冒泡排序( Bubble Sort)是一种简单的排序算法。它重复访问要数列, 一次比较两个元素,如果他们的顺序错误就把交换过来。访问数列工作是 一次比较两个元素,如果他们的顺序错误就把交换过来。访问数列工作是 一次比较两个元素,如果他们的顺序错误就把交换过来。访问数列工作是 重复地进行直到没有再需要交换的数据,也就是说该列已经排序完成。这个算 重复地进行直到没有再需要交换的数据,也就是说该列已经排序完成。这个算 重复地进行直到没有再需要交换的数据,也就是说该列已经排序完成。这个算 法的名字由来是因为越小元素会经交换慢 “浮”到数列的 顶端,像水中到数列的 顶端,像水中气泡从水底浮到面。
public class BubbleSort { public static void main(String[] args) {
int[] array = new int[]{10, 1, 9, 2, 8, 3, 7, 4, 6, 5};
bubbleSort(array);
display(array);
} /**
* 一次比较两个元素,如果他们的顺序错误就把交换过来。访问数列工作是一次比较两个元素,如果他们的顺序错误就把交换过来。
* 访问数列工作是 一次比较两个元素,如果他们的顺序错误就把交换过来。访问数列工作是 重复地进行直到没有再需要交换的数据,
* 也就是说该列已经排序完成。这个算 重复地进行直到没有再需要交换的数据,也就是说该列已经排序完成。这个算 重复地进行直
* 到没有再需要交换的数据,也就是说该列已经排序完成。这个算 法的名字由来是因为越小元素会经交换慢 “浮”到数列的 顶端,
* 像水中到数列的 顶端,像水中气泡从水底浮到面。
* @param array
*/
public static void bubbleSort(int[] array) {
int length = array.length;
for (int i=0; i<length - 1; i++) {
for (int j=0; j<length-1-i; j++) {
if(array[j] > array[j+1]) {
swap(array, j, j+1);
}
}
display(array);
System.out.println();
}
} /**
* 打印
*/
public static void display(int[] array) {
int len = array.length;
StringBuilder str = new StringBuilder("");
for (int i=0; i<len; i++) {
str.append(array[i] + ", ");
}
System.out.println(str.substring(0, str.length()-2));
} /**
* 交换数组中两个元素的位置
* @param array
* @param a
* @param b
*/
private static void swap(int[] array, int a, int b) {
array[a] = array[a] + array[b];
array[b] = array[a] - array[b];
array[a] = array[a] - array[b];
}
}
3 Java 冒泡排序法的更多相关文章
- Java 冒泡排序法
冒泡排序法: public static void Bubbling(int []num){//冒泡排序法 for(int i=0;inum[j+1]){//前一个大于后一个为小到大排序 前一个小于后 ...
- Java冒泡排序法升级版
/* * 冒泡排序之升级版,可比较整型数组.小数型数组 * * */ public static <T extends Comparable<T>> void Bubb ...
- java 冒泡排序法、选择排序
1.冒泡排序 /* * 冒泡排序 * 外层控制循环多少趟,内层控制每一趟的循环次数 */ public class Test08 { public static void main(String[] ...
- java算法之冒泡排序法
由此可见:N个数字要排序完成,总共进行N-1趟排序,每第 i 趟的排序次数为 (N-i) 次,所以 可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数,即 for(inti=0;i& ...
- 关于Java中的选择排序法和冒泡排序法
一,这种方法是直接传入一个数组进行排序(选择排序法) public static void selectSort(int arr[]){ for (int i = 0; i < arr.leng ...
- 冒泡排序法-java案例详解
/** * 功能:冒泡排序法 * 思想:通过对待排序序列从后向前(从下标较大的元素开始),依次比较相邻元素的排序码, * ,若发现逆序这交换,使得排序码较小的元素逐渐从后部移向前部(从下标较大的单元移 ...
- Java 快速排序法 冒泡排序法 选择排序法 插入排序法
1.快速排序的原理: 选择一个关键值作为基准值.比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的). 从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果 ...
- (十七)java冒泡排序和compareto
java中的排序有:冒泡排序.快速排序.选择排序.插入排序和希尔排序,还有基数排序.鸡尾酒排序.桶排序.鸽巢排序.归并排序等. 冒泡排序法:利用双重for循环,重复走访要排序的数列,两两比较大 ...
- 选择排序法、冒泡排序法、插入排序法、系统提供的底层sort方法排序之毫秒级比较
我的代码: package PlaneGame;/** * 选择排序法.冒泡排序法.插入排序法.系统提供的底层sort方法排序之毫秒级比较 * @author Administrator */impo ...
随机推荐
- Java对象的序列化和反序列化介绍
一.什么序列化和反序列化以及作用: java序列化是指把java对象转换为字节序列的过程,而java反序列化是指把字节序列恢复为java对象的过程 1.序列化: 1)对象序列化的最主要的用处就是在传递 ...
- npm安装淘宝镜像cnpm
在cmd中执行 npm install -g cnpm --registry=https://registry.npm.taobao.org
- 原生html、js手写 radio与checkbox 美化
原生html.js手写 radio与checkbox 美化 html <!DOCTYPE html> <html> <head> <meta charse ...
- Mycat1.6启动报NumberFormatException解决方案(server内存太大)
https://blog.csdn.net/lijieshare/article/details/84826280 2019-09-02 18:28:27,829 [ERROR][main] 2019 ...
- AL11新建目录、删除目录
AL11可以进入SAP应用服务器中. 项目上需要和外围系统做接口 写文件到文件服务器上,让外围系统过来读取,但是为了减少SAP应用服务器的负担,需要一台独立的文件服务器共享目录到SAP应用服务器, 也 ...
- js小功能3:一个简单的计算器功能
html: <input type='text' id='txt1' /> <select id='select'> <option value='+'>+< ...
- 6.声明式异常处理、I18N
声明式异常处理 1.在Action 中进行异常映射 <exception-mapping result="error" exception="java.sql.SQ ...
- Scrapy框架之高级 转
一.CrawlSpider模板 创建项目 scrapy startproject 项目名称 查看模板 scrapy genspider -l 创建crawl模板 scrapy genspider -t ...
- delphi FMX APP程序图标,闪屏,程序名
- Java学习笔记【十三、多线程编程】
概念 Java 给多线程编程提供了内置的支持.一个多线程程序包含两个或多个能并发运行的部分.程序的每一部分都称作一个线程,并且每个线程定义了一个独立的执行路径. 多线程是多任务的一种特别的形式,但多线 ...