`

标准的冒泡排序,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.rar

    在提供的压缩包文件"BubbleSort.rar"中,很可能包含了演示冒泡排序算法的C#源代码示例,你可以通过解压并运行这些代码来更直观地理解冒泡排序的工作原理。通过阅读和分析这些代码,你可以学习如何在实际项目中运用...

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

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

    冒泡排序 BubbleSort

    冒泡排序(Bubble Sort)是一种基础且经典的排序算法,它通过重复遍历待排序的数列,依次比较相邻元素并根据需要交换它们的位置,来达到将较大的元素逐渐“冒”到数列末尾的效果。这个过程就像水底下的气泡一样,...

    bubblesort_冒泡排序matlab代码_

    `bubblesort simulation.png`可能是冒泡排序过程的可视化结果,通过图像展示每一步的排序状态,帮助理解算法运行过程。通常,这样的图会显示数组的每一列代表一个元素,随着排序的进行,较大的元素会逐渐"冒泡"到...

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

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

    冒泡排序 的动态演示 动画 C++写

    冒泡排序是一种基础且经典的排序算法,它通过不断交换相邻的逆序元素来逐步排序一个序列。在本项目中,我们将深入探讨C++如何实现冒泡排序的动态演示动画。这个程序不仅会进行排序,还会以动画的形式展示排序的过程...

    基于C++冒泡排序法

    这段代码首先定义了一个`bubbleSort`函数,接受一个整型数组和其大小作为参数,然后执行冒泡排序算法。在`main`函数中,我们创建了一个数组并调用`bubbleSort`对其进行排序,最后打印出排序后的结果。 通过理解和...

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

    ### 冒泡排序详解 #### 一、冒泡排序的基本概念与原理 冒泡排序是一种简单的排序算法,其基本思想是通过重复地遍历要排序的列表,比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历列表的工作是重复...

    冒泡排序(BubbleSort).txt

    ### 冒泡排序(Bubble Sort)详解 #### 基本概念与原理 冒泡排序是一种简单的排序算法,其基本思想是通过不断地比较相邻的两个元素,并根据大小关系进行交换来实现排序。整个过程可以形象地比喻为轻的气泡(较小的...

    冒泡排序练习题1

    在BubbleSort函数中,可以先找出所有奇数,然后对这些奇数进行冒泡排序,接着找出所有偶数并进行排序,最后将奇数和偶数合并。具体实现未给出,但思路是关键。 6. 最后一个问题是要求对数组A进行升序排序并去除重复...

    js冒泡排序两种排序代码

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

    汇编冒泡排序实验报告.docx

    + 9.BubbleSort:实现冒泡排序 2. 程序简述 本程序的主要功能是实现冒泡排序算法,包括输入数据、显示提示信息、输入需要排序的数据、输出未排序数组、输出排好序数组等。 3. 定义 * Num:接收需要排序数字个数 ...

    java 冒泡排序 数组冒泡排序

    冒泡排序是一种基础且经典的排序算法,它通过不断交换相邻两个元素的位置,使得每一次遍历都能将当前未排序部分的最大(或最小)元素“冒”到已排序部分的末尾。在Java编程语言中,我们可以很容易地实现这个算法。...

    冒泡排序_冒泡排序_

    这个例子中,`bubbleSort`函数实现了冒泡排序,`printArray`函数用于打印排序后的数组。在`main`函数中,我们创建了一个数组,并调用`bubbleSort`对其进行排序,最后打印排序结果。 冒泡排序的时间复杂度为O(n²),...

    冒泡排序法_VS_vs实现冒泡排序_源码

    在这个程序中,`bubbleSort`函数实现了冒泡排序的核心逻辑,`printArray`函数用于打印排序后的数组,而`main`函数则是整个程序的入口,它创建了一个数组并调用了`bubbleSort`进行排序,最后打印出排序结果。...

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

    冒泡排序是一种基础的排序算法,它通过重复遍历待排序的序列,比较相邻元素并交换位置,使得每个元素都能找到其正确的位置,从而完成排序。在这个“vue项目实现的冒泡排序可视化”中,开发者利用Vue.js框架,将这个...

    冒泡排序代码实现。。。

    冒泡排序是一种基础且经典的排序算法,它的基本思想是通过不断地交换相邻的未排序元素,使得每一趟排序后,最大的元素“浮”到数组的末尾。这个过程就像水中的气泡逐渐上浮一样,因此得名冒泡排序。本教程将深入探讨...

    vs2010 冒泡排序

    这里,`BubbleSort`方法和`Main`方法分别实现了冒泡排序逻辑和主程序。与C++类似,我们先创建一个未排序的数组,然后调用`BubbleSort`对其进行排序,最后显示排序结果。 在实际编程中,冒泡排序虽然简单易懂,但...

    c语言二维数组冒泡排序

    `bubbleSort`函数接受一个二维数组和行数作为参数,然后对每一行进行冒泡排序。注意,这里我们仅以第一列元素进行比较,因为如果需要按照其他列排序,需要对冒泡排序的逻辑进行相应的调整。 在`main`函数中,我们先...

    c++语言实现冒泡排序算法bubbleSort

    c++语言实现冒泡排序,适合算法初学者入门。

Global site tag (gtag.js) - Google Analytics