排序算法

2022-02-19  本文已影响0人  墨宇暗黑
image.png

冒泡排序

首先介绍冒泡排序算法,加入有一组数字需要按照从小到大的顺序进行排列,那么我们应该按照如下规则进行排序:
1.从头开始,紧挨的两个数字进行比较,将比较大的一个放在后面,然后后面再继续进行排序,经过一轮的排序那么就会将最大的一个数字拍在后面,然后进行第二轮排序,这样就得到第二大的数字,依次类推得到结果

public class Paixu {
    public static void main(String[] args) {
        int[] arr = {2,3,1,8,5,7,45,41};
        int temp;
        for(int i =0; i<arr.length; i++){//有多少个数字就需要排多少论
            for(int j=1; j<arr.length - i; j++){//将相邻两个数字进行比较
                if(arr[j-1]>arr[j]){
                    temp = arr[j-1];
                    arr[j-1] = arr[j];
                    arr[j] = temp;
                }
            }
        }
        for(int i:arr)
            System.out.print(i + " ");
    }
}

选择排序

选择排序就是每一轮挑选出当前伦里面的最值,直接上代码

public class Paixu {
    public static void main(String[] args) {
        int[] arr = {2,3,1,-8,-9,8,5,7,45,41};
        int index,temp,j;
        for(int i =0; i<arr.length - 1; i++){
            index = 0;
            temp = arr[0];
            for(j=1; j<arr.length - i; j++){
                if(arr[j]>temp){
                    temp = arr[j];
                    index = j;
                }
            }
            arr[index] = arr[j-1];
            arr[j-1] = temp;
        }
        for(int i:arr)
            System.out.print(i + " ");
    }
}

插入排序

插入跑徐就是有一组数字,一次取出一个数字按照规律插入在数组前面

public class Paixu {
    public static void main(String[] args) {
        int[] arr = {2,3,1,-8,-9,8,5,66,-45,88,7,45,41};
        int j;
        for(int i=1;i<arr.length;i++){
            int temp = arr[i];
            j = i - 1;
            while (j >= 0 && arr[j] > temp){
                arr[j+1] = arr[j];
                j--;
            }
            arr[j+1] = temp;
        }
        for(int i:arr)
            System.out.print(i + " ");
    }
}

上一篇下一篇

猜你喜欢

热点阅读