常见排序算法总结(java版)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见排序算法总结(java版)相关的知识,希望对你有一定的参考价值。

一、冒泡排序

1、原理:相邻元素两两比较,大的往后放。第一次完毕,最大值在最大索引处。

技术分享

2、代码:

技术分享
public static void bubbleSort(int[] arr) {
                    for(int x=0; x<arr.length-1; x++) {  //外层循环控制轮数 ,一共要比较(arr.length-1)轮
                        for(int y=0; y<arr.length-1-x; y++) {  //外层循环控制每一轮比较的次数,每一轮比较(arr.length-1-i)次
                            if(arr[y] > arr[y+1]) {      //如果前面的元素比后面的元素大,则交换位置
                                int temp = arr[y];
                                arr[y] = arr[y+1];
                                arr[y+1] = temp;
                            }
                        }
                    }
                }
View Code

 

二、选择排序

1、原理 :将0位置的元素依次和后面全部的元素比,比完后,0位置就是最小的元素,紧接着从1位置对后面的元素比,逐步得到从小到大的值。

技术分享

2、代码:

技术分享
public class SelectionSort {
    public static void main(String[] args) {
        int[] arr = {2, 5, 8, 3, 6};
        selectionSort(arr);
    }
    public static void selectionSort(int[] arr){
        for(int i=0;i<arr.length;i++){   //外层循环控制用哪个位置的数与后面的数比较
            for (int j=i+1;j<arr.length;j++){ // 内层循环控制这个数与后面的数需要比较多少次
                if(arr[i]>arr[j]) { // //这个条件保证从小到大排列,反之从大到小排列
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
        
        for(int m=0;m<arr.length;m++){
            System.out.println(arr[m]);
        }

    }
}
View Code

 

以上是关于常见排序算法总结(java版)的主要内容,如果未能解决你的问题,请参考以下文章

整理常见排序算法及其时间复杂度总结

常见的链表排序(Java版)

常见排序算法总结(java实现)

Java面试题常见算法总结

java几种常见的排序算法总结

经典十大排序算法(含升序降序,基数排序含负数排序)Java版完整代码建议收藏系列