简单排序

一冒泡排序

二选择排序

三插入排序

下面我们分步讲一下这三种排序。首先来看一下冒泡排序。

复制代码
package ch02;

public class BubbleSort {

    public static void sort(long [] arr){
        long temp = 0;
        for (int i = 0;i<arr.length-1;i++) {//i表示第几趟排序
            for (int j = arr.length-1;j>i;j--) {
                if (arr[j] <arr[j-1]) {
                    //交换
                    temp = arr[j];
                    arr[j] = arr[j-1];
                    arr[j-1] = temp;
                }
            }
        }
    }
    
    public static void main(String[] args) {
        long[]arr = new long[5];
        arr[0] = 34;
        arr[1] = 23;
        arr[2] = 1;
        arr[3] = 2;
        sort(arr);
        for (int i = 0;i<arr.length;i++) {
            System.out.print(arr[i]+" ");
        }
        
    }
    
}
复制代码

2:选择排序:代码实现

复制代码
package ch02;

public class SelectionSort {

    public static void sort(long [] arr){
        int k = 0;
        long temp = 0;
        for (int i = 0;i<arr.length;i++) {//趟数
            k = i;
            for (int j = i;j<arr.length;j++) {
                if (arr[j] < arr[k]) {//选择最小的交换
                    k = j;
                }
            }
//交换 temp
= arr[i]; arr[i] = arr[k]; arr[k] = temp; } } public static void main(String[] args) { long[]arr = new long[5]; arr[0] = 34; arr[1] = 23; arr[2] = 1; arr[3] = 2; sort(arr); for (int i = 0;i<arr.length;i++) { System.out.print(arr[i]+" "); } } }
复制代码

3,插入排序:代码实现(代码有问题)

复制代码
package ch02;

public class InsertSort {

    public static void sort(long [] arr){
        long temp = 0;
        for (int i = 1;i<arr.length;i++) {
            temp = arr[i];
            int j = i;
            while (j > 0 && arr[j] >= temp) {
                arr[j] = arr[j-1];
                j--;
            }
            arr[j] = temp;
        }
    }
    public static void main(String[] args) {
        long[]arr = new long[5];
        arr[0] = 34;
        arr[1] = 23;
        arr[2] = 1;
        arr[3] = 2;
        arr[4] = 0;
        sort(arr);
        for (int i = 0;i<arr.length;i++) {
            System.out.print(arr[i]+" ");
        }
    }
}
复制代码

 

posted on   airycode  阅读(162)  评论(0编辑  收藏  举报

编辑推荐:
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
阅读排行:
· AI Agent爆火后,MCP协议为什么如此重要!
· Draw.io:你可能不知道的「白嫖级」图表绘制神器
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· Windows核心编程 进程与线程
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示