排序算法及Java代码

排序算法及Java代码

  • 一、冒泡排序
    • 1、原理
    • 2、升降序-Java代码
  • 二、系统排序
    • 1、原理
    • 2、升序-Java代码

一、冒泡排序

1、原理

基本思想:在数组中将相邻的两个数依次进行对比,按排序要求将它们进行交换。
如:从左到右依次将两个数进行对比,将较大的值交换到右边(即为升序);将较小的值交换到右边(即为降序)。

2、升降序-Java代码

升序排序(从左往右,数组值从小到大)
Java源文件:demo.java,代码如下:

public class demo {
    public static void main(String[] args){
        // 调用冒泡排序
        int arr[]={100,1,9,5,3,24,4,5,9};
        sort(arr);
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+" ");
        }
    }

    // 冒泡排序--升序
    public static void sort(int arr[]){
        for(int i=0;i<arr.length-1;i++){
            for(int j=0;j<arr.length-i-1;j++){
                // if条件,将大的值往右移动
                if(arr[j]>arr[j+1]){
                    int temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
    }
}

降序Java源文件:demo.java,代码如下:

public class demo {
    public static void main(String[] args){
        // 调用冒泡排序
        int arr[]={100,1,9,5,3,24,4,5,9};
        sort(arr);
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+" ");
        }
    }

    // 冒泡排序--降序
    public static void sort(int arr[]){
        for(int i=0;i<arr.length-1;i++){
            for(int j=0;j<arr.length-i-1;j++){
                // if条件,将小的值往右移动
                if(arr[j]<arr[j+1]){
                    int temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
    }
}

二、系统排序

1、原理

调用Java内置的排序算法Arrays.sort();实现对数组的升序排序,需要引入java.util包中的Arrays类,即:import java.util.Arrays

2、升序-Java代码

import java.util.Arrays;

public class demo {
    public static void main(String[] args){
        // 调用系统排序
        int arr[]={100,1,9,5,3,24,4,5,9};
        Arrays.sort(arr);
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+" ");
        }
    }
}

PS. 文章更新中…
推荐博客:常见排序算法及其对应的时间复杂度、空间复杂度,内有python实现代码。

你可能感兴趣的:(Java开发与编程,排序算法,java,算法)