`

标准的冒泡排序,Bubblesort

阅读更多

package com.tnt.sortingalgorithm;

/**
 * 冒泡排序
 * 
 * @author FrankcoLuo
 * 
 */
public class Bubblesort {
	public void bubbleSortFunc1(int[] arr, int length) {
		int i = length, j;
		int temp;

		while (i > 0) {
			for (j = 0; j < i - 1; j++) {
				if (arr[j] > arr[j + 1]) {
					temp = arr[j];
					arr[j] = arr[j + 1];
					arr[j + 1] = temp;
				}
			}
			i--;
		}

	}

	/**
	 * 标准的冒泡排序
	 * 
	 * @param arr
	 * @param length
	 */
	public void bubbleSortFunc2(int[] arr, int length) {
		// 假定两两交换发生在数组最后的两个位置
		int exchange = length - 1;

		while (exchange > 0) {
			// 记录下发生数据交换的位置
			int bound = exchange;

			// 假定本趟比较没有数据交换
			exchange = 0;

			for (int i = 0; i < bound; i++) {
				if (arr[i] > arr[i + 1]) {
					// 交换
					int temp = arr[i];
					arr[i] = arr[i + 1];
					arr[i + 1] = temp;

					exchange = i + 1;
				}
			}
		}
	}

	public static void main(String[] args) {

		int[] arr = { 234, 264, 34, 358, 2, 4, 6, 54, 14, 25, 5, 24646, 2, 5, 5 };

		//方式一
//		new Bubblesort().bubbleSortFunc1(arr, arr.length);
		
		//方式二
		new Bubblesort().bubbleSortFunc2(arr, arr.length);

		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}
}
 
分享到:
评论

相关推荐

    冒泡排序BubbleSort(void函数实现)

    冒泡排序BubbleSort(void函数实现)

    冒泡排序 BubbleSort

    经典算法,冒泡排序(BubbleSort),使用C#实现

    冒泡排序 BubbleSort.rar

    原理:从头开始,每一个元素和它的下一个元素比较,如果它大,就将它与比较的元素交换,否则不动。 这意味着,大的元素总是在向后慢慢移动直到遇到比它更大的元素。所以每一轮交换完成都能将最大值。

    C语言实现的冒泡排序(bubbleSort)算法示例

    在这个示例中,我们定义了一个bubbleSort函数来实现冒泡排序算法。在main函数中,我们定义了一个数组并对其进行冒泡排序,并打印排序后的结果。 冒泡排序是一种简单但效率较低的排序算法,它的基本思想是通过相邻...

    js冒泡排序两种排序代码

    本文件编辑了两种js冒泡排序代码,亲测可用,bblSort(arr), bubbleSort(arr),传入排序数组,然后就可以调用函数就可以以冒泡排序对数组进行排序,欢迎大家的下载实用,如有问题可以给我发送邮箱china_zdw202308...

    冒泡排序-排序过程 冒泡排序-排序过程

    冒泡排序-排序过程 设想被排序的数组R[1..N]垂直竖立,将每个数据元素看作有重量的气泡,根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R,凡扫描到违反本原则的轻气泡,就使其向上"漂浮",如此反复进行,...

    PHP-基于php实现的冒泡排序算法-BubbleSort.zip

    PHP_基于php实现的冒泡排序算法_BubbleSort

    bubblesort_冒泡排序matlab代码_

    通过该程序可以实现随机生成一组数,并将该组数进行冒泡排序。

    Java排序之冒泡排序

    冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至...

    vue项目实现冒泡排序的可视化(bubbleSort)

    vue项目实现的 冒泡排序可视化,动态直观的展现冒泡排序是如何运作的,让你看清排序的步骤,欢迎大家下载学习

    C++实现冒泡排序(BubbleSort)

    本文实例为大家分享了C++实现冒泡排序的具体代码,供大家参考,具体内容如下 一、思路: 冒泡排序算法原理: 1.比较相邻的元素。如果第一个数比第二个数大,就交换他们两个。 2.对每一对相邻元素做同样的工作,从...

    asp.net 冒泡排序

    冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至...

    冒泡排序(BubbleSort).txt

    基本概念是: 依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,...如此下去,直至最终完成排序。

    7种常用排序算法实现(C++)(冒泡排序、选择排序、直接插入排序、希尔排序、堆排序、归并排序以及快速排序)

    本文件是7种常用排序算法的实现(C++),包括冒泡排序、选择排序、直接插入排序、希尔排序、堆排序、归并排序以及快速排序。代码详细有注释且有测试用例。

    用LabVIEW编写冒泡排序

    冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此...

    BubbleSort_Go_Go冒泡排序_

    Go语言实现冒泡排序,排序算法之一,实用部分

    使用php实现bubbleSort函数来实现冒泡排序算法

    使用php实现bubbleSort函数来实现冒泡排序算法。在测试部分,我们使用一个数组来测试bubbleSort函数,并输出排序后的结果。

    插入排序 冒泡法排序 快速排序 直接选择排序 堆排序 归并排序 希尔排序 7种排序算法及时间比较

    printf("\t2: 冒泡法排序\n"); printf("\t3: 快速排序\n"); printf("\t4: 直接选择排序\n"); printf("\t5: 堆排序\n"); printf("\t6: 归并排序\n"); printf("\t7: 希尔排序\n"); printf("\t*****************...

    C语言实现的冒泡排序算法

    以上程序中,`bubbleSort`函数使用冒泡排序算法对传入的整数数组进行排序。主函数`main`定义了一个测试数组`arr`,并计算数组的长度`n`。然后,调用`bubbleSort`函数对数组进行排序,并打印排序后的结果。 执行程序...

    用于实现冒泡排序c.pdf

    在以上代码中,我们定义了一个名为`bubbleSort`的函数,用于实现冒泡排序。该函数接受一个整型数组和数组的长度作为参数。 在函数中,我们使用两个嵌套的`for`循环来实现冒泡排序的逻辑。外层循环控制比较次数,内...

Global site tag (gtag.js) - Google Analytics