`
Java_Fan
  • 浏览: 83240 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

结合舞蹈更易理解的算法--冒泡排序算法[java代码]

 
阅读更多

舞蹈地址:http://t.cn/hrf58M

冒泡排序算法java代码:

/**
 * 冒泡排序
 * @author hsy
 *
 */
public class BubbleSort
{
    private long[] a;
    private int nElems;
    
    public BubbleSort( int max)
    {
        super();
        this.a = new long[max];
        nElems = 0;
    }
    
    /**
     * 向数组中插入数据
     * @param value
     */
    public void insert(long value){
        a[nElems] = value;
        nElems++;
    }
    
    /**
     * 打印数组
     *
     */
    public void display(){
        for(int i=0;i<nElems;i++){
            System.out.print(a[i]+",");
        }
        System.out.println("");
    }
    
    /**
     * 排序
     *
     */
    public void bubbleSort(){
        int out;
        int in;
        for(out=nElems-1;out>1;out--){
            for(in=0;in<out;in++){
                if(a[in]>a[in+1]){
                    swap(in,in+1);
                }
            }
        }
    }
    
    /**
     * 大小换位
     * @param index1
     * @param index2
     */
    private void swap(int index1,int index2){
        long temp = a[index1];
        a[index1] = a[index2];
        a[index2] = temp;
    }
    
    public static void main(String[] args){
        int max = 100;
        BubbleSort arr = new BubbleSort(max);
        
        arr.insert(10);
        arr.insert(5);
        arr.insert(45);
        arr.insert(8);
        arr.insert(34);
        arr.insert(78);
        arr.insert(22);
        arr.insert(68);
        arr.insert(82);
        arr.insert(53);
        arr.insert(7);
        arr.insert(99);
        arr.insert(57);
        arr.insert(72);
        
        arr.display();
        long start = System.currentTimeMillis();
        arr.bubbleSort();
        long end = System.currentTimeMillis();
        System.out.println("排序耗时:"+(end-start));
        arr.display();
    }
    
}

控制台输出:

10,5,45,8,34,78,22,68,82,53,7,99,57,72,
排序耗时:0
5,7,8,10,22,34,45,53,57,68,72,78,82,99,


分享到:
评论

相关推荐

    [Java算法-排序]冒泡排序.java

    该资源包括实用练习,让读者可以练习在Java中实现冒泡排序,并提供解决方案以帮助读者检查自己的工作并深入理解所学内容。 无论您是Java编程的初学者还是有经验的程序员,该资源都将为您提供有价值的指导和支持,...

    算法-数据结构和算法-9-冒泡排序.rar

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

    排序算法 -- 冒泡排序

    冒泡排序是一种基础且经典的排序算法,它的基本思想是通过不断地交换相邻的逆序元素,使得每一轮排序后,...但对于初学者来说,理解和实现冒泡排序有助于建立对排序算法的基础理解,从而更好地掌握其他复杂的排序算法。

    经典排序算法源代码-插入排序-选择排序-冒泡排序

    本资源包含三个经典的排序算法的源代码:插入排序、选择排序和冒泡排序,这些都是初级到中级程序员常学习和使用的算法。下面将详细介绍这三个排序算法的工作原理、特点以及代码实现。 1. **插入排序(Insertion ...

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

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

    详解Java常用排序算法-冒泡排序

    Java排序算法之冒泡排序详解 冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就交换位置。这个过程持续对数列的末尾进行,直到整个数列都排序完成...

    算法-理论基础- 排序- 原始冒泡排序(包含源程序).rar

    冒泡排序作为一种简单的排序算法,从诞生之初就因其直观性和易实现性被广泛用于计算机科学和编程教学之中。其核心思想在于通过一系列的比较和交换操作,逐步将无序数组中的元素按顺序排列。尽管在处理大数据集时效率...

    [7.3.1]--503冒泡和选择排序算法及分析.srt

    [7.3.1]--503冒泡和选择排序算法及分析.srt

    [7.3.1]--503冒泡和选择排序算法及分析.mp4

    [7.3.1]--503冒泡和选择排序算法及分析.mp4

    [Java算法-排序]-堆排序.java

    该资源包括实用练习,让读者可以练习在Java中实现堆排序,并提供解决方案以帮助读者检查自己的工作并深入理解所学内容。 无论您是Java编程的初学者还是有经验的程序员,该资源都将为您提供有价值的指导和支持,帮助...

    [Java算法-排序]-插入排序.java

    该资源包括实用练习,让读者可以练习在Java中实现插入排序,并提供解决方案以帮助读者检查自己的工作并深入理解所学内容。 无论您是Java编程的初学者还是有经验的程序员,该资源都将为您提供有价值的指导和支持,...

    java算法——冒泡排序

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

    Java-快速排序、冒泡排序和堆排序三种排序讲解、对比及总结.md

    Java-快速排序、冒泡排序和堆排序三种排序讲解、对比及总结 Java-快速排序、冒泡排序和堆排序三种排序讲解、对比及总结 Java-快速排序、冒泡排序和堆排序三种排序讲解、对比及总结

    8.12-8.19-冒泡-选择-插入-希尔-快速-归并-基数-堆排序-排序算法Swift代码及UI演示

    1. 冒泡排序(Bubble Sort):冒泡排序是最简单的排序算法之一,通过不断交换相邻的不正确顺序元素,使较大的元素逐渐“浮”到序列的末尾。它的时间复杂度为O(n^2)。 2. 选择排序(Selection Sort):选择排序每次...

    java排序算法 - 附有源代码

    在提供的Java代码中,可以看到对选择排序和冒泡排序的实现。选择排序的`sortSelection`方法通过三重循环来实现,而冒泡排序的`sortBubble`方法则是通过两重循环来完成。这两个方法都嵌套了一个百万次的循环,可能是...

    冒泡算法实现Java代码

    通过研究这些示例,你可以更深入地理解冒泡排序的实现细节,以及如何在实际编程中应用这个算法。 总之,冒泡排序是计算机科学中最基本的排序算法之一,对于初学者来说,掌握它的原理和实现方式是学习算法和数据结构...

    冒泡排序 Java代码

    以下是一个简单的Java代码实现冒泡排序: ```java public class BubbleSort { public static void main(String[] args) { int[] array = {5, 3, 8, 1, 2}; bubbleSort(array); for (int i : array) { System....

    [Java算法-排序练习]计数排序.java

    该资源包括实用练习,让读者可以练习在Java中实现计数排序,并提供解决方案以帮助读者检查自己的工作并深入理解所学内容。 无论您是Java编程的初学者还是有经验的程序员,该资源都将为您提供有价值的指导和支持,...

    [Java算法-排序练习]基数排序.java

    该资源包括实用练习,让读者可以练习在Java中实现基数排序,并提供解决方案以帮助读者检查自己的工作并深入理解所学内容。 无论您是Java编程的初学者还是有经验的程序员,该资源都将为您提供有价值的指导和支持,...

    [Java算法-排序练习]三色排序判断.java

    该资源包括实用练习,让读者可以练习在Java中实现三色排序判断,并提供解决方案以帮助读者检查自己的工作并深入理解所学内容。 无论您是Java编程的初学者还是有经验的程序员,该资源都将为您提供有价值的指导和支持...

Global site tag (gtag.js) - Google Analytics