`

冒泡算法原理及实现(java)

 
阅读更多

原理:临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束,以此类推。(第1次排序比较到最后1个数,第2次排序比较到倒数第3个数,第3次排序比较到倒数第3个数。。。。。)

实现(java):

public class BubbleSort {

	public static void main(String[] args){
		// TODO Auto-generated method stub
		long[] arr={9,6,5,8,4,2,3,1,7};
		try{
			BubbleSort.bubbleSort(arr,"esc");
			for(int i=0;i<arr.length;i++){
				System.out.print(" "+arr[i]);
			}
		}catch(Exception e){
			e.printStackTrace();
		} 
		

	}
	/**
	 * @param args
	 * array long类型数组
	 * sortType 排序类型 asc升序 desc降序
	 * @throws Exception 
	 */
	public static void bubbleSort(long[] array,String sortType) throws Exception{
		for(int i=array.length-1;i>0;i--){
			for(int j=0;j<i;j++){
				if(sortType!=null&&"asc".equals(sortType)){
					if(array[j]>array[j+1]){
						long temp=array[j];
						array[j]=array[j+1];
						array[j+1]=temp;
					}
				}else if(sortType!=null&&"desc".equals(sortType)){
					if(array[j]<array[j+1]){
						long temp=array[j];
						array[j]=array[j+1];
						array[j+1]=temp;
					}
				}else{
					throw new Exception("排序类型不正确!");
				}
			}
		}
	}
}

 

分享到:
评论

相关推荐

    冒泡算法实现Java代码

    标签"排序"和"冒泡"表明这个压缩包可能包含与冒泡排序算法相关的Java代码示例或练习,比如`bubble_sorting_demo`可能是一个实现了冒泡排序的Java项目或类文件。通过研究这些示例,你可以更深入地理解冒泡排序的实现...

    冒泡排序原理和JAVA实现

    冒泡排序原理和JAVA实现 冒泡排序是一种比较排序,也称为泡沫排序或沉沦排序。它的工作原理是通过重复地走访过要排序的数列,依次比较相邻的两个元素,如果他们的顺序错误就把他们交换过来,直到没有再需要交换的...

    JAVA冒泡排序算法

    虽然它在最坏情况和平均情况下的效率都不高,但由于其实现简单,常被用于教学和理解排序算法的基本原理。 冒泡排序的主要步骤包括: 1. 比较相邻的元素,如果前一个比后一个大,则交换它们的位置。 2. 对每一对相邻...

    Java冒泡排序算法

    ### Java冒泡排序算法知识点详解 #### 一、冒泡排序基本概念 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是...

    C语言实现的冒泡排序算法(另附Java实现代码)

    掌握如何在C语言和Java语言中实现冒泡排序算法 了解并比较不同编程语言在实现相同算法时的异同点 提升自己的算法实现和应用能力 其他说明: 本文的代码示例清晰易懂,适合初学者入门。对于有经验的开发者,也可以...

    Java实现冒泡排序算法及性能分析

    使用场景及目标:读者可以通过本文学习到冒泡排序的工作原理,掌握其在Java中的编码技巧,理解优化措施的意义,并了解到何时使用此算法最为合适。 其他说明:冒泡排序由于时间复杂度较高,在实际应用中可能需要考虑...

    java基础 经典算法之冒泡排序详解

    1.冒泡排序的原理:每次都从第一个元素开始(索引0),向后两两比较,只要后面的比前面的大,就交换(从大到小) 2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是...

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

    Java作为广泛应用的编程语言,提供了丰富的工具来实现各种排序算法。以下是根据标题和描述中提到的四种排序算法——冒泡排序、快速排序、插入排序和选择排序的详细说明。 **冒泡排序(BuddleSort)**: 冒泡排序是...

    常用排序算法的java实现(冒泡、插入、选择、希尔、归并、快排)

    在计算机科学中,排序算法是数据结构领域的重要组成部分,它涉及到如何有效地重新排列一组数据,使其按照特定的顺序排列。...了解并掌握这些排序算法,对于理解算法原理、提高编程能力具有重要意义。

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

    《跟我学Java面向对象程序设计技术及应用——应用冒泡排序算法实现数组元素排序的Java程序实现示例》 本文档主要介绍了Java编程中的一种基础排序算法——冒泡排序,并结合实际示例详细阐述了如何在Java环境中实现...

    Java冒泡排序算法实现

    这个简单的Java冒泡排序程序对于理解排序算法的基本工作原理非常有用,同时也可以作为一个基础模板,根据实际需求进行扩展,比如支持降序排序、优化冒泡排序(如添加标志位判断是否已经完成排序等)。 在学习算法的...

    选择排序,冒泡排序算法(JAVA源代码)

    这里我们关注的是两种基础的排序算法:选择排序(Selection Sort)和冒泡排序(Bubble Sort),它们都是简单直观的算法,尤其适用于学习排序的基本原理。 **选择排序**: 选择排序是一种不稳定的排序算法,它的基本...

    八种排序算法原理及Java实现( 冒泡排序+快速排序直接插入排序+希尔排序+选择排序+归并排序+基数排序)

    八种排序算法原理及Java实现是排序算法中的一种,包括冒泡排序、快速排序、直接插入排序、希尔排序、选择排序、归并排序和基数排序等。 冒泡排序是八种排序算法中的一种,属于交换排序。冒泡排序的基本思想是重复...

    Java实现冒泡排序算法

    尽管冒泡排序的效率不高,但它在教学和理解排序算法原理方面具有重要意义。此外,当面对数据量较小,对排序速度要求不高的场景时,冒泡排序也是一种可行的选择。 8. **其他排序算法**: Java中还有很多其他高效的...

    java GUI 实现冒泡排序

    3. **冒泡排序算法**:在Java中实现冒泡排序,我们需要两个嵌套的for循环。外层循环控制遍历的轮数,内层循环负责比较和交换相邻元素。在每次比较时,如果发现逆序对,就交换这两个元素,否则标记当前轮次无交换,...

    冒泡排序算法原理及JAVA实现代码

    在给出的Java代码中,有两种不同的冒泡排序实现,但基本逻辑相同。第一种实现中,排序的对象是`Date`类的实例,`Date`类包含年、月、日三个字段,并且实现了`compare`方法来比较两个日期的大小。`bubbleSort`方法...

    算法导论中算法的java实现

    在这个主题下,我们将探讨如何将书中的算法用Java语言进行实现,以及如何通过源码和工具来理解和学习这些算法。 在Java中实现《算法导论》中的算法,首先需要理解算法的基本思想和逻辑结构。这包括排序算法(如冒泡...

    JAVA冒泡排序算法详解

    ### JAVA冒泡排序算法详解 冒泡排序是一种简单的排序算法,它重复地遍历要排序的元素列表,比较每对相邻...然而,对于教学目的或者处理小型数据集时,冒泡排序仍然是一个很好的示例,可以帮助理解排序算法的基本原理。

    一个十分经典的java冒泡排序,界面实现.rar

    本项目中,"一个十分经典的java冒泡排序,界面实现.rar" 提供了一个Java程序,它不仅实现了冒泡排序算法,还创建了一个简单的用户界面来展示排序过程。以下是关于这个项目的几个关键知识点: 1. **冒泡排序算法**:...

Global site tag (gtag.js) - Google Analytics