基本概念
冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再大于第2个数),将小数放前,大数放后,一直比较到最小数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最小数。如此下去,直至最终完成排序。
由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。
用二重循环实现,外循环变量设为i,内循环变量设为j。外循环重复9次,内循环依次重复9,8,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,...,9,对于每一个i, j的值依次为1,2,...10-i。
JAVA算法
package com.xyq.demo;
public class BubbleSort {
public static void sort(int[] data) {
int temp;
for (int i = 0; i < data.length; i++) {
for (int j = data.length - 1; j > i; j--) {
if (data[i] > data[j]) {
temp = data[i];
data[i] = data[j];
data[j] = temp;
}
}
}
}
public static void main(String[] args) {
int[] a = { 4, 2, 3, 1, 5 };
sort(a);
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
}
}
分享到:
相关推荐
* 冒泡排序: * 每次在无序队列里将相邻两个数一次进行比较, * 将小数调到前面,逐次比较,直至将最大的数移到 * 最后。将剩下的N-1个数继续比较,将次大数移至 * 倒数第二位。
算法设计——排序代码——冒泡排序代码
算法设计与分析课程——冒泡排序结果
这是我归纳的一些排序方法——有冒泡排序,直接排序和反转排序,希望对大家有点用处
冒泡排序详解,简单而详细的讲清楚了,什么是冒泡排序。 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首...
NULL 博文链接:https://wojiaolongyinong.iteye.com/blog/1871731
实现冒泡排序,后续将陆续上传九种排序方式,C语言实现。
java冒泡排序代码,亲测能用,控制台输入数据,自动排序
本题希望通过回调函数,定义一个冒泡排序函数,可以根据函数指针指向不同的比较函数,分别实现从大到小和从小到大的排序。 希望通过这道题目,可以帮助大家理解函数指针与回调函数。本题较为简单,仅能处理整数的...
使用NetBeans设计界面,实现带界面冒泡排序 对输入String进行处理,将连续数字保存入数组(考虑负数,浮点数,首位为0的情况) 压缩包包含,使用java源文件生成的exe文件
冒泡排序法的思想是:从头到尾比较相邻的两个元素,将小的换到前面,大的换到后面。经过了从头到尾的一趟比较,就把最大的元素交换到了最后一个位置。依此类推,经过第n-
java冒泡排序 代码为排序源代码 简洁明了 无其他
这个程序根据冒泡排序从大到小,从小到大的把数组里的元素进行了排序,程序思想很清晰
1.冒泡排序的原理:每次都从第一个元素开始(索引0),向后两两比较,只要后面的比前面的大,就交换(从大到小) 2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是...
java实现最优冒泡排序。冒泡排序的时间复杂度为O(n2)。
java冒泡排序集锦方法!所有的方法都有!很不错的!希望对大家有帮助哈哈!
可以用java来得到冒泡排序的实现,由屏幕输入存入数组。
实例009——实现排序操作 实例009——冒泡排序操作 实例009——快速排序操作 实例009——插入排序操作 实例009——选择排序操作
java 冒泡排序方法,java 冒泡排序方法。