基于java实现选择排序和插入排序

选择排序

实现逻辑:

选择排序是将当前元素和剩下的元素进行比较当当前元素大于所比较的元素的时候两个元素进行交换

java 复制代码
public class Search {
//    选择排序
    private void Serach() {};
    public static <E extends Comparable <E> > void search(E[] arr) {
        for(int i =0 ; i < arr.length;i++) {
          int minxdata = i;
           for(int j = i+1;j < arr.length;j++) {
                if(arr[j].compareTo(arr[minxdata]) < 0 ) {
                   minxdata = j;
                   sawp(arr,i,minxdata);
               }
            }           
        }
    }
    private static <E> void sawp(E[] arr,int i, int j) {
        E t = arr[i];
        arr[i] = arr[j];
        arr[j] = t;
    }
}

插入排序

java 复制代码
    private AllAearch() {}
    public  static <E extends Comparable <E>> void allAearch(E[] arr) {
            for(int j = i; j-1 >= 0; j--) {
                if(arr[j].compareTo(arr[j-1]) < 0) {
                    sawp(arr,j,j-1);
                }else {
                    break;
                }
            }
//            优化
            E temp = arr[i];
            int j ;
            for( j = i ; j-1 >=0 && temp.compareTo(arr[j-1]) < 0;j--) {
                arr[j] = arr[j-1];
            };
            arr[j] = temp;
        }
    };
    private static <E> void sawp(E[] arr,int i, int j) {
        E t = arr[i];
        arr[i] = arr[j];
        arr[j] = t;
    }
相关推荐
夏天的味道٥43 分钟前
使用 Java 执行 SQL 语句和存储过程
java·开发语言·sql
冰糖码奇朵2 小时前
大数据表高效导入导出解决方案,mysql数据库LOAD DATA命令和INTO OUTFILE命令详解
java·数据库·sql·mysql
好教员好2 小时前
【Spring】整合【SpringMVC】
java·spring
Dream it possible!3 小时前
LeetCode 热题 100_字符串解码(71_394_中等_C++)(栈)
c++·算法·leetcode
浪九天3 小时前
Java直通车系列13【Spring MVC】(Spring MVC常用注解)
java·后端·spring
堕落年代4 小时前
Maven匹配机制和仓库库设置
java·maven
功德+n4 小时前
Maven 使用指南:基础 + 进阶 + 高级用法
java·开发语言·maven
修己xj4 小时前
算法系列之深度优先搜索寻找妖怪和尚过河问题的所有方式
算法
开心比对错重要4 小时前
leetcode69.x 的平方根
数据结构·算法·leetcode
美狐美颜sdk4 小时前
什么是美颜SDK?从几何变换到深度学习驱动的美颜算法详解
人工智能·深度学习·算法·美颜sdk·第三方美颜sdk·视频美颜sdk·美颜api