`
cooliufang
  • 浏览: 129868 次
社区版块
存档分类
最新评论

Java排序算法之 —— 冒泡排序

阅读更多
package algorithm.sort;

/**
 * 冒泡排序:重复地交换相邻的两个反序元素
 * @author Administrator
 *
 */
public class BubbleSort {
	//对数组中指定位置的元素进行排序
	public void bubbleSort(int[] a, int from, int end) {
		for (int i = from; i<=end; i++) {
			for (int j = end; j > i; j--) {
				if (a[j-1] > a[j]) {
					exchange(a, j-1, j);
				}
			}
		}
	}
	
	//对整个数组排序
	public void bubbleSort(int[] a) {
		bubbleSort(a, 0, a.length-1);
	}
	
	//交换数组中的两个元素
	public void exchange(int[] a, int i, int j) {
		int temp = a[i];
		a[i] = a[j];
		a[j] = temp;
	}
	
	//打印数组
	public void printArr(String str, int[] a) {
		System.out.print(str + "\t");
		for(int i = 0; i < a.length; i++)
			System.out.print(a[i] + " ");
		System.out.println();
	}
	
	//测试数据
	public static void main(String[] args) {
		BubbleSort bs = new BubbleSort();
		int[] a = {1,6,3,8,2,0};
		bs.printArr("原始数组为:", a);
		bs.bubbleSort(a);
		bs.printArr("冒泡排序后:", a);
	}
}


//output~
原始数组为: 1 6 3 8 2 0
冒泡排序后: 0 1 2 3 6 8
分享到:
评论

相关推荐

    java算法——冒泡排序

    * 冒泡排序: * 每次在无序队列里将相邻两个数一次进行比较, * 将小数调到前面,逐次比较,直至将最大的数移到 * 最后。将剩下的N-1个数继续比较,将次大数移至 * 倒数第二位。

    算法可视化系列——排序算法——冒泡排序

    - **冒泡排序**:最简单的排序算法之一,时间复杂度为O(n^2)。 2. **冒泡排序步骤**: - 遍历数组,比较相邻元素的值。 - 如果前一个元素大于后一个元素,则交换它们的位置。 - 这个过程会持续n-1轮(对于n个...

    跟我学Java面向对象程序设计技术及应用——应用冒泡排序算法实现数组元素排序的Java程序实现示例.pdf

    本文档主要介绍了Java编程中的一种基础排序算法——冒泡排序,并结合实际示例详细阐述了如何在Java环境中实现冒泡排序算法。冒泡排序是一种简单直观的排序算法,它的核心思想是通过重复遍历待排序的序列,比较相邻...

    java实现的4种排序算法(冒泡、快速、插入、选择)

    以下是根据标题和描述中提到的四种排序算法——冒泡排序、快速排序、插入排序和选择排序的详细说明。 **冒泡排序(BuddleSort)**: 冒泡排序是一种简单的交换排序,它通过重复遍历待排序的列表,比较相邻元素并...

    java语言排序——选择排序法和冒泡排序法(排序时间的测试盒比较)

    本文将深入探讨两种基本的排序算法:选择排序和冒泡排序,并通过实际代码实现和时间复杂度分析进行比较。 选择排序是一种简单直观的排序算法。它的基本思想是,在未排序的序列中找到最小(或最大)的元素,存放到...

    10大排序算法——01冒泡排序(Java实现)

    冒泡排序(Bubble Sort) 冒泡排序也叫起泡排序 冒泡排序的执行流程 1.从头开始比较每一对相邻元素,如果第一个比第二个大,就交换他们的位置。(执行完第一轮,最后的那个元素就是最大的元素) 2.忽略从步骤1中找到...

    排序算法-基于Java实现的排序算法之BubbleSort实现.zip

    本项目聚焦于一种基础且经典的排序算法——冒泡排序(Bubble Sort),并以Java编程语言作为实现工具。Java是一种广泛使用的面向对象的编程语言,其简洁的语法和丰富的库函数使得实现各种算法变得方便。 冒泡排序是...

    排序算法 Java经典算法

    首先,我们来看看基础的排序算法——冒泡排序。冒泡排序是最简单的交换排序,通过重复遍历待排序的数列,依次比较相邻元素并根据需要交换它们的位置,直到没有任何一对数字需要交换为止。虽然效率较低,但它对于理解...

    java版本排序算法

    以上介绍了三种基本的排序算法——插入排序、冒泡排序和选择排序。虽然它们在处理小规模数据集时表现良好,但在大规模数据集面前,这些算法的性能通常不如更高效的算法,如快速排序、归并排序等。然而,了解这些基础...

    最快的排序算法 图解八大排序算法——我见过的最详细的讲解(转),排序算法数据结构

    常见的排序算法有八种,即选择排序、冒泡排序、插入排序、归并排序、快速排序、堆排序、.radix 排序和基数排序。 一、分类 内部排序和外部排序是两种基本的排序分类。内部排序是指待排序记录存放在计算机随机...

    Java数据结构和算法

    (10)数据结构之红黑树(三)——删除操作 (11)排序算法(一)——冒泡排序及改进 (12)排序算法(二)——选择排序及改进 (13)排序算法(三)——插入排序及改进 (14)排序算法(四)——归并排序与递归...

    《C++_JAVA集中上机》实习报告——图示冒泡排序.pdf

    《C++/JAVA集中上机》实习报告——图示冒泡排序.pdf 本文档是关于C++/JAVA集中上机的实习报告,主要介绍了图示冒泡排序算法的设计和实现。下面是从标题、描述、标签和部分内容中提取的相关知识点: 一、课程设计的...

    数据结构与算法分析——Java语言描述

    常见的排序算法(如冒泡排序、快速排序、归并排序、堆排序)和查找算法(如线性查找、二分查找)都有详尽的解释和实例。此外,还包括动态规划、贪心算法、回溯法等高级算法思想。算法分析不仅关注实现,更强调时间...

    各种排序算法java实现

    标题 "各种排序算法java实现" 涉及到的是计算机科学中的一个重要领域——算法,特别是排序算法在Java编程语言中的具体应用。排序算法是数据结构与算法分析中的基础部分,它们用于将一组数据按照特定顺序排列。在这个...

    Java经典算法50题——答案下载!

    1. 排序算法:包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等,理解每种排序算法的工作原理和时间复杂度是至关重要的。 2. 搜索算法:线性搜索、二分搜索、深度优先搜索(DFS)、广度优先搜索...

    数据结构与算法分析——Java语言描述-带书签目录高清扫描版

    排序算法如冒泡排序、选择排序、插入排序、快速排序、归并排序和堆排序,各有优缺点,适用于不同的数据特性。查找算法包括顺序查找、二分查找和哈希查找,其中哈希表提供了近乎常数时间的查找效率。此外,高级算法如...

    java代码-使用java解决java冒泡排序算法的源代码

    java代码-使用java解决java冒泡排序算法的源代码 ——学习参考资料:仅用于个人学习使用!

    《Java数据结构和算法》学习笔记(2)——4种简单排序算法

    本文将深入探讨四种简单的排序算法:插入排序、冒泡排序、选择排序。这些算法虽然在复杂度上不如高级排序算法如快速排序或归并排序,但它们提供了基础的排序逻辑,有助于理解更复杂的算法思想。 首先,我们来详细...

Global site tag (gtag.js) - Google Analytics