`
吕金含
  • 浏览: 84737 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

java冒泡排序算法深度讲解

 
阅读更多

1.首先我们先测试以下,随机数目为10个,看看冒泡排序所用时间。

public class BubbleSort {
	/**
	 * 创建日期:2017-3-24下午7:55:39 作者:lvguanghui
	 */
	public static void main(String[] args) {
		/**
		 * 冒泡排序 思路:我们把不同的数字放到一个数组中 先比较第一个数字和后面的数字的大小,如果第一个数字大于后面的数字
		 * 那么两者之间进行交换位置,否则,不交换位置,继续比较第二个数字 和后面的数字之间的大小·······,直到比较完为止。
		 */
		int num=10;//随机数目
		int[] a = new int[num];
		for (int i = 0; i < num; i++) {
			a[i] = (int) (Math.random() * 1000);
		}
		System.out.print("排序之前数组:");
		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i] + " ");
		}
		System.out.println();
		long start_time = System.currentTimeMillis();
		System.out.println("当前系统毫秒:" + start_time);
		// 比较的总次数;
		for (int j = 0; j < a.length; j++) {
			// 每次比较的次数
			for (int i = 0; i < a.length - 1 - j; i++) {
				int temp;
				if (a[i] > a[i + 1]) {
					temp = a[i + 1];
					a[i + 1] = a[i];
					a[i] = temp;
				}
			}
		}
		long end_time = System.currentTimeMillis();
		System.out.println("当前系统毫秒:" + end_time);
		System.out.println("冒泡排序所用时间:" + (end_time - start_time));
		System.out.print("排序之后数组:" + " ");
		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i] + " ");
		}
	}

}
2.如图所示



3.我们修改随机数目,修改为10000



































分享到:
评论

相关推荐

    java常见算法题解析大全。

    排序是数据处理的基础操作,包括冒泡排序、插入排序、选择排序、快速排序、归并排序等。这些算法各有优劣,适用于不同的场景。例如,冒泡排序简单但效率较低,适合小规模数据;而快速排序和归并排序在大数据量下表现...

    Java常用算法手册(jb51.net)_Java常用算法手册_

    排序算法是算法中的一大类,书中可能会包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。这些排序算法各有优劣,了解它们的工作原理和性能特点,能帮助我们在实际开发中选择最适合的排序方法。 ...

    Java算法PPT(很不错的资料)

    排序算法包括经典的冒泡排序、插入排序、选择排序、快速排序、归并排序以及希尔排序等,这些算法在实际编程中经常被用到,了解它们的工作原理和时间复杂度分析对于优化代码性能至关重要。搜索算法则可能包含线性搜索...

    非常经典的java基本算法

    Java中常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。每种排序算法都有其优缺点,如时间复杂度、空间复杂度等,理解它们的工作原理有助于在实际开发中选择最合适的排序方式。 2. *...

    java常用算法大全源代码.zip

    - P1:可能涵盖了基础的排序算法,如冒泡排序和插入排序。 - P4:可能涉及了高级数据结构,如堆或平衡二叉搜索树(AVL或红黑树)。 - P9:可能讲解了图论的基本概念和图的表示方法,如邻接矩阵和邻接表。 - P10:...

    常见程序算法原理讲解与实例代码java和c

    常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序和堆排序。每种算法都有其特点和适用场景,例如,冒泡排序适用于小规模数据,而快速排序则在处理大数据时表现出色。在Java和C语言中,实现这些...

    java经典算法(PPT资源)

    1. 冒泡排序:一种简单的比较排序方法,通过不断交换相邻的逆序元素逐步将序列调整为有序。 2. 选择排序:每次从未排序的部分中找到最小(或最大)的元素,放到已排序部分的末尾。 3. 插入排序:将未排序的元素依次...

    java数据结构与算法中文版

    书中的算法可能包括排序(冒泡排序、插入排序、快速排序、归并排序、堆排序等)、搜索(线性搜索、二分搜索)、图算法(深度优先搜索、广度优先搜索)、动态规划等。算法的选择和优化直接影响程序的效率和性能。例如...

    java 数据结构 算法 第二版 中+英文版

    书中详细讲解了排序算法(如冒泡排序、选择排序、插入排序、快速排序、归并排序)、查找算法(如线性查找、二分查找)、图算法(如深度优先搜索、广度优先搜索)以及动态规划等高级算法。通过学习这些算法,读者可以...

    java 数据结果和算法

    在Java中,常见的算法包括排序算法(冒泡排序、选择排序、插入排序、快速排序、归并排序等)、搜索算法(线性搜索、二分搜索)、图算法(深度优先搜索、广度优先搜索)、动态规划、贪心算法等。例如,冒泡排序是一种...

    ACM算法大神讲解常用数据结构与算法优化(java版与c++版)

    算法则是解决问题的步骤和方法,常见的有排序算法(如冒泡排序、快速排序、归并排序、堆排序)、搜索算法(如深度优先搜索、广度优先搜索)、图算法(如Dijkstra最短路径算法、Floyd-Warshall所有对最短路径算法)、...

    Algorithms in java Java算法

    2. **排序算法**:常见的有冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序、堆排序等。这些排序算法各有优缺点,适用于不同的场景。例如,快速排序通常在平均情况下具有较高的效率,而归并排序则在...

    Java数据结构和算法中文第二版_Java数据结构_

    4. **排序与查找**:包括经典的排序算法(冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等)和查找算法(线性查找、二分查找)。这些是任何程序员都应该掌握的基础知识。 5. **树结构**:书中会详细...

    Java数据结构和算法-带书签目录扫描版

    1. **排序算法**:冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等,以及它们的时间复杂度分析。 2. **查找算法**:顺序查找、二分查找、哈希查找等,以及在不同数据结构中的应用。 3. **递归与分治**...

    java数据结构算法

    在Java中,算法可以分为搜索算法(如线性搜索、二分搜索)、排序算法(如冒泡排序、快速排序、归并排序)和图算法(如深度优先搜索、广度优先搜索)。理解并掌握这些算法能有效提高程序的效率和性能。 书中可能还会...

    JAVA算法

    5. **排序**:常见的排序算法有冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。它们在实际编程中有着广泛应用,比如在数据库查询优化和数据分析中。 6. **搜索**:包括线性搜索、二分搜索、深度优先...

    Java数据结构和算法(第二版)+随书源代码+applet小程序

    冒泡排序是简单直观的排序算法,书中通过Applet程序展示了冒泡排序的过程,帮助读者理解每一步的比较。此外,还会讲解插入排序、选择排序、快速排序、归并排序、堆排序等算法。 8. **查找算法**:包括顺序查找、二...

    Java数据结构和算法中文第二版

    算法则是解决问题或执行任务的明确步骤,包括排序算法(如冒泡排序、快速排序、归并排序)、搜索算法(如线性搜索、二分搜索)、图算法(如深度优先搜索、广度优先搜索)等。这些算法的优化对于提升软件性能至关重要...

    java经典算法(PPT资源)

    1. **排序算法**:包括冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。这些算法在数据处理中起着关键作用,理解它们的工作原理和时间复杂度对于优化程序性能至关重要。 2. **查找算法**:如二分查找...

    算法导论-java

    8. **排序算法**:包括冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。理解各种排序算法的时间复杂度和适用场景至关重要,Java中的Arrays.sort()方法就是基于快速排序和归并排序的实现。 9. **搜索...

Global site tag (gtag.js) - Google Analytics