`
guojianpeng9806
  • 浏览: 30398 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

冒泡排序算法

    博客分类:
  • Java
阅读更多
        最近面试时常遇到写冒泡算法的情况,看来很多公司都很重视考察排序问题,闲来无事自己写了一个,记录在这里。本程序中加入了flag标志减少了不必要的循环次数。
package test;

public class BubbleSortTest {
	//测试main方法
	public static void main(String[] args){
		int[] arr = {1,2,4,5,7,3,8,9,6,0};
		BubbleSort(arr);
	}
	private static void BubbleSort(int a []){
		int temp = 0; //临时变量
		int num = 0;//记录总共冒泡次数
		
		for (int i = 0; i < a.length ; i++) { 
			boolean flag = true;
			for (int j = 0; j < a.length - i - 1; j++){
				if (a[j]<a[j + 1]){ //把这里改成大于,就是升序了
					temp=a[j];
					a[j]=a[j + 1];
					a[j + 1]=temp;
					flag = false;
				}
			}
			System.out.print("第"+(i+1)+"次冒泡后,当前顺序为:");
			for(int k=0;k<a.length;k++){
				System.out.print(a[k]);
			}
			System.out.println();
			num = i;
			
			//flag为true标志当前冒泡次数已经将顺序排好,跳出循环
			if(flag){
				break;
			}
		}
		System.out.println("总共冒泡次数为:"+(num+1));
	}

}


        运行结果如下:
第1次冒泡后,当前顺序为:2457389610
第2次冒泡后,当前顺序为:4573896210
第3次冒泡后,当前顺序为:5748963210
第4次冒泡后,当前顺序为:7589643210
第5次冒泡后,当前顺序为:7896543210
第6次冒泡后,当前顺序为:8976543210
第7次冒泡后,当前顺序为:9876543210
第8次冒泡后,当前顺序为:9876543210
总共冒泡次数为:8
分享到:
评论

相关推荐

    双向冒泡排序算法

    设计一个双向冒泡排序算法。要求用C/C++实现。

    应用Java和Python实现冒泡排序算法

    冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python...

    数据结构冒泡排序算法

    数据结构冒泡排序算法 数据结构冒泡排序算法

    冒泡排序算法的动态演示程序

    ### 冒泡排序算法的动态演示程序:深入解析与实现 #### 一、冒泡排序算法简介 冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。...

    Java冒泡排序算法

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

    插入和冒泡排序算法Demo

    **插入排序与冒泡排序算法详解** 在计算机科学中,排序是数据处理的重要部分,它涉及到将一组数据按照特定顺序排列。插入排序和冒泡排序是两种基础且经典的排序算法,它们都属于简单排序方法,适合小规模或者部分...

    冒泡排序算法的C++函数模板

    冒泡排序算法的C++函数模板 冒泡排序算法是简单的排序算法之一,它的主要思想是通过反复比较相邻元素,将小的元素逐步移到序列的开始位置,而大的元素逐步移到序列的末尾位置,以达到排序的目的。下面是冒泡排序...

    冒泡排序算法(前向冒泡,后向,双向)

    冒泡排序算法,包含前向冒泡、后向冒泡以及双向冒泡

    冒泡排序算法原理讲解

    该 ppt 为课程讲义,讲解冒泡排序算法原理,及用一个简单实例进行具体分析,还有冒泡排序算法原理的总结等。

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

    冒泡排序算法两种C语言实现方法,在VC开发环境下验证通过

    冒泡排序算法PPT课件.pptx

    冒泡排序算法 冒泡排序是一种简单、易懂的交换排序方法,它通过将相邻元素进行比较和交换,逐步将一个无序序列排列为一个有序序列。冒泡排序算法的主要思想是通过重复地比较相邻的元素,如果它们的顺序错误就交换...

    冒泡排序 算法(冒泡,选择,插入,数组排序)

    冒泡排序是一种简单的排序算法,它的基本思想是通过重复遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这...

    C语言冒泡排序算法详解:从原理到代码的完整教程

    介绍了C语言冒泡排序算法的原理、步骤、实现方法和优化技巧,以及相关的概念和知识,如数组、循环、交换、比较、稳定性、时间复杂度等。本资源适合C语言初学者和考生使用,帮助他们深入理解和掌握冒泡排序算法的原理...

    易语言冒泡排序算法

    在易语言中实现冒泡排序算法,我们可以按照以下步骤进行: 1. **初始化**:首先,我们需要一个数组来存储待排序的数据。易语言中定义数组可以通过`数组定义`语句,例如`整数数组 数组名 = [元素个数]`。 2. **外层...

    JAVA冒泡排序算法

    冒泡排序算法是一种基础的排序算法,通过重复遍历要排序的数列,比较相邻的两个数,如果前一个比后一个大,则将它们两个对调。每一轮遍历结束后,数列中的最大值就会“冒泡”到数列的末尾。简单来说,就是通过重复...

    冒泡排序算法c++实现

    冒泡排序是一种基础的排序算法,它通过重复遍历待排序的序列,比较相邻元素并交换位置,使得每个元素都能逐步“浮”到正确的位置上。在这个过程中,最大(或最小)的元素会像气泡一样逐渐上升到序列的顶端。这种算法...

    关于c++冒泡排序算法

    ### 关于C++冒泡排序算法的深度解析 在计算机科学与编程领域,排序算法是基础且关键的一部分,其中冒泡排序(Bubble Sort)作为最简单直观的排序算法之一,常被用作教学示例,尤其适合初学者理解排序算法的基本原理...

    数组应用及冒泡排序算法示例学习

    冒泡排序是一种简单的排序算法,它的基本思想是通过重复遍历待排序的数组,比较相邻元素并交换位置(如果需要的话),直到数组中的所有元素都按照指定顺序排列。冒泡排序的名字来源于排序过程中较小的元素像气泡一样...

Global site tag (gtag.js) - Google Analytics