排序算法

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 + " ");
    }
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容