基于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;
    }
相关推荐
天河归来13 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL14 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
ZhengEnCi14 小时前
GPT-6 Astra 爆改 Qwen 权重真有那么神吗:权重空间编程 0.016% 参数的真相
算法·架构
罗西的思考14 小时前
【轻量化复刻大模型 / KIMI K3】KDA(Kimi Delta Attention):并行
人工智能·算法·机器学习
砚底藏山河15 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
猿究院_夏燊16 小时前
MySQL 的四种隔离级别
java·数据库·mysql
码流子16 小时前
移动收费怎么做?手持终端+App+收费中心的架构实践
java·开发语言·架构
霸道流氓气质16 小时前
AI 流式对话与实时聊天平台:SSE 解码竞态、有状态会话隔离与背压取消的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
夜不会漫长17 小时前
C++:红黑树
数据结构·算法
云创智城-yuncitys17 小时前
YunParking 4.0:JDK 17 与 Spring Boot 3.2 的停车云升级
java·开发语言·spring boot