`

JAVA两种常用排序方法

 
阅读更多

1. 冒泡排序:冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端。

 

/**  
 *  冒泡法排序   
 *  比较相邻的元素。如果第一个比第二个小,就交换他们两个。 
 *  对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最小的数。   
 *  针对所有的元素重复以上的步骤,除了最后一个。  
 *  持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 

 *   
 * @param numbers  
 *            需要排序的整型数组  
 */  
 public static void bubbleSort(int[] a) {
        int[] a = {2,1,6,8,7,4,5,3,9,10};
        int temp;
        int size = a.length;
        for(int i=1; i<size; i++) {
            for(int j=0; j<size-i; j++) {
                if(a[j] < a[j+1]) {
                    temp = a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                }
            }
            for(int aa : a)
                System.out.print(aa+",");
            System.out.println();
        }
    }
循环结果:
2,6,8,7,4,5,3,9,10,1,
6,8,7,4,5,3,9,10,2,1,
8,7,6,5,4,9,10,3,2,1,
8,7,6,5,9,10,4,3,2,1,
8,7,6,9,10,5,4,3,2,1,
8,7,9,10,6,5,4,3,2,1,
8,9,10,7,6,5,4,3,2,1,
9,10,8,7,6,5,4,3,2,1,
10,9,8,7,6,5,4,3,2,1,(我们所需要的结果)

 2. 选择排序:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。

 

/**
     * 选择排序
     * 从最后一位开始依次倒序跟第一位对比大小,并把最小的数字与第一位调换位置。
     * 在未排序序列中找到最小元素,存放到排序序列的起始位置
     * 再从剩余未排序元素中继续寻找最小元素,然后放到排序序列起始位置。
     * 以此类推,直到所有元素均排序完毕。
     *
     * @param numbers
     */
    public static void selectSort(int[] numbers) {
        int[] a = {5,3,6,8,7,4,2,1,9,10};
        int size = numbers.length;
        int temp;
        for (int i = 0; i < size; i++) {
            int k = i;
            for (int j = size - 1; j >i; j--)  {
                if (numbers[j] < numbers[k]) {
                k = j;
                }
            }
            temp = numbers[i];
            numbers[i] = numbers[k];
            numbers[k] = temp;

            for(int aa : numbers)
                System.out.print(aa+",");
            System.out.println();
        }
    }
运行结果:
1,3,6,8,7,4,2,5,9,10,
1,2,6,8,7,4,3,5,9,10,
1,2,3,8,7,4,6,5,9,10,
1,2,3,4,7,8,6,5,9,10,
1,2,3,4,5,8,6,7,9,10,
1,2,3,4,5,6,8,7,9,10,
1,2,3,4,5,6,7,8,9,10,
1,2,3,4,5,6,7,8,9,10,
1,2,3,4,5,6,7,8,9,10,
1,2,3,4,5,6,7,8,9,10,

 简单整理两种排序方法,亲测没问题。

 

分享到:
评论

相关推荐

    8种常用排序方法java类实现

    本篇文章将详细探讨标题为“8种常用排序方法Java类实现”的主题,主要基于描述中的内容,即8种业务中常见的排序方法在Java语言中的实现。 1. **冒泡排序(Bubble Sort)**:冒泡排序是一种简单直观的排序算法,通过...

    Java实现六种常用排序(含源代码)

    Java实现六种常用排序 并用多线程进行速度比较(其实意义不大) 含有代码

    常用排序算法java演示

    本文将深入探讨标题"常用排序算法java演示"中涉及的知识点,包括排序算法的原理、Java实现方式以及其在实际应用中的图形演示。 首先,让我们逐一了解几种常见的排序算法: 1. **冒泡排序(Bubble Sort)**:这是一...

    java 集合分组与排序

    Java集合框架中的`List`接口和数组(Array)是两种常用的数据结构,它们在处理数据时各有优势。下面我们将深入探讨如何在Java中实现集合的分组与排序。 1. **集合分组**: 集合分组通常涉及到`GroupingBy`操作,这...

    java 几种常用的排序算法

    ### Java几种常用的排序算法 在Java编程语言中,排序算法是数据处理中不可或缺的一部分,它不仅可以帮助我们组织数据,还能提高程序效率。本篇文章将详细介绍几种常用的Java排序算法:选择排序、冒泡排序以及插入...

    Java实现常用排序算法

    在编程领域,排序算法是计算机科学中的基础但至关重要的部分,尤其在Java这样的高级语言中。本文将深入探讨Java中实现的四种...同时,了解这些排序算法的优缺点,有助于在实际编程中根据数据特性选择合适的排序方法。

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

    本篇文章将详细讲解标题中提到的六种常见排序算法的Java实现。 1. **冒泡排序**:冒泡排序是最基础的排序算法之一,它通过不断交换相邻的逆序元素来逐渐将较大的元素“浮”到数组的前端。在Java中,冒泡排序的基本...

    Java常用8大排序算法

    除了以上介绍的四种排序算法外,Java中还有以下几种常用的排序算法: 1. **冒泡排序**:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。遍历所有元素之后,最大的元素就会被放到最后的位置上。然后...

    Java常用排序算法&程序员必须掌握的8大排序算法+二分法查找

    本资料包聚焦于"Java常用排序算法"和"程序员必须掌握的8大排序算法",并深入探讨了"二分法查找"这一高效搜索技术。 首先,我们来看八大排序算法。这些算法包括: 1. **冒泡排序**:最简单的排序方法,通过不断交换...

    几种常用的排序法 java程序

    本资源包含了一些常见的排序算法的Java实现,包括快速排序、堆排序和归并排序。下面将对这些排序算法进行详细介绍,并探讨它们的原理、优缺点以及适用场景。 1. 快速排序(Quick Sort) 快速排序是一种分治策略的...

    Java常用排序算法源码

    归并排序是稳定的排序方法。 4. 基数排序: 基数排序是一种非比较型排序算法,根据数字的位数从低到高进行排序。它适用于整数排序,时间复杂度为O(kn),其中k是数字的最大位数。基数排序是稳定的,不会改变相等元素...

    java排序.txt

    - **定义**:直接插入排序是一种简单的排序方法,它的工作原理是将一个记录插入到已排序好的有序表中,从而得到一个新的、记录增1的有序表。 - **时间复杂度**: - 最好情况:O(n),即当输入数组已经是排序好的情况...

    Java常用排序算法

    以下是关于"Java常用排序算法"的详细解释: 1. 插入排序(Insertion Sort) 插入排序是一种简单直观的排序算法,它的工作原理类似于我们日常生活中整理扑克牌的过程。算法分为两个阶段:遍历待排序的数组,将每个...

    用Java实现几种常见的排序算法

    在Java中,`java.util.Arrays`类提供了`sort()`方法,它可以对整数、浮点数、字符及对象数组进行排序,底层使用的是TimSort,一种稳定的排序算法,综合了插入排序、归并排序和自底向上的归并排序。 这些排序算法各...

    java基础常用排序算法

    Java基础常用的排序算法是编程学习中的重要组成部分,尤其对于初学者来说,掌握这些排序方法能够提升编程能力并有助于解决实际问题。在这个主题中,我们将深入探讨几种常见的排序算法,包括冒泡排序、插入排序、选择...

    java实现归并排序

    Java 实现归并排序是一种常用的排序算法,通过分治策略将原始数组分成小组,然后对每个小组进行排序,最后将排序好的小组合并成一个有序数组。下面是 Java 实现归并排序的知识点总结: 基本思想 归并排序的基本...

    常用排序算法总结(含Java代码)

    冒泡排序和快速排序是两种基础但广泛使用的数据排序算法。冒泡排序由于其简单直观的特性,易于理解和实现,而快速排序则以其较高的效率在数据量较大时展现出优势。 首先,让我们来看冒泡排序算法。冒泡排序通过重复...

    Java各种排序算法

    ### Java中的常用排序算法 #### 一、概述 在计算机科学中,排序算法是一类非常重要的算法,用于将一组无序的数据按照特定的顺序排列。Java作为一种广泛应用的编程语言,支持多种内置排序方法以及允许开发者自定义...

Global site tag (gtag.js) - Google Analytics