【数据结构和算法】排序算法

一、排序算法基本概述

在这里插入图片描述

二、交换类排序–冒泡法

在这里插入图片描述

public void bubbleWay(int a[]){
         for(int i =1; i < a.length; i++){ //比较次数
             for(int j = 0;j <a.length-i;j++){
                 if(a[j] > a[j+1]){
                    int temp = a[j+1];
                    a[j+1] = a[j];
                    a[j] = temp;
                 }
             }
         }
    }

三、选择类排序–简单选择排序

在这里插入图片描述

public void selectWay(int a[]){
        for(int i = 0; i < a.length -1;i++){
            int min = i; //默认当前位置比后面的都要小
            for(int j = i +1;j<a.length;j++){
                if(a[min] > a[j]){
                    min = j;
                }
            }
            int temp = a[min];
            a[min] = a[i];
            a[i] = temp;
        }
    }

四、插入类排序–直接插入

在这里插入图片描述

  public void directInsertway(int a[]){
        for(int i = 1; i <a.length; i++){
            int temp = a[i], j;
            for(j = i - 1;j >= 0 && temp < a[j]; j--){
                  a[j+1] = a[j];
            }
            a[j+1] = temp;
        }
    }

四、插入类排序–希尔排序

希尔排序是插入排序的升级版,具体思路如下。
在这里插入图片描述
相关代码如下:

 public void hillInsertSort(){
        int gap = 1;
        while(gap < nodes.size()/3)  gap = 3*gap + 1;

        while(gap >= 1) {
            for (int i = gap; i < nodes.size(); i++) {
                for (int j = i; j >= gap; j -= gap) {
                    if (nodes.get(j).getData().compareTo(nodes.get(j - gap).getData()) < 0) {
                        HeapDataStructure  temp = nodes.get(j);
                        nodes.set(j,nodes.get(j - gap));
                        nodes.set(j - gap,temp);
                    }
                }
            }
            gap = gap/3;
        }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
疫情居家办公系统管理系统按照操作主体分为管理员和用户。管理员的功能包括办公设备管理、部门信息管理、字典管理、公告信息管理、请假信息管理、签到信息管理、留言管理、外出报备管理、薪资管理、用户管理、公司资料管理、管理员管理。用户的功能等。该系统采用了MySQL数据库,Java语言,Spring Boot框架等技术进行编程实现。 疫情居家办公系统管理系统可以提高疫情居家办公系统信息管理问题的解决效率,优化疫情居家办公系统信息处理流程,保证疫情居家办公系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理公告,管理疫情居家办公系统信息,包括外出报备管理,培训管理,签到管理,薪资管理等,可以管理公告。 外出报备管理界面,管理员在外出报备管理界面中可以对界面中显示,可以对外出报备信息的外出报备状态进行查看,可以添加新的外出报备信息等。签到管理界面,管理员在签到管理界面中查看签到种类信息,签到描述信息,新增签到信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DreamBoy_W.W.Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值