选择排序算法代码实现
上代码:
package com.liu.pro; import java.util.Arrays; public class selectionSort { public static void main(String[] args) { int[] arr = {9,8,5,6,2,7,1,3,4}; sort(arr); System.out.println("选择排序:"); System.out.println(Arrays.toString(arr)); sort1(arr); System.out.println("选择排序优化:"); System.out.println(Arrays.toString(arr)); } /** * 选择排序 * @param arr 传入的数组 */ public static void sort(int[] arr){ // 遍历0~arr.length-2(包含) for (int i = 0; i < arr.length - 1; i++) { // 定义一个最小值的索引 int index = i; // 定义一个最小值并赋初始值 int min = arr[i]; // 遍历从j=i+1,到最后一个数 for (int j = i + 1; j < arr.length; j++) { // 如果找的数值比最小值还要小,替换这个最小值和最小值的索引 if (min > arr[j]){ min = arr[j]; index = j; } } // 给arr[i]赋值min // 给arr[index]赋值 arr[index] = arr[i]; arr[i] = min; } } /** * 选择排序优化 * @param arr 传入的数组 */ public static void sort1(int[] arr){ for (int i = 0; i < arr.length - 1; i++) { int index = i; int min = arr[i]; for (int j = i + 1; j < arr.length; j++) { if (min > arr[j]){ min = arr[j]; index = j; } } // 如果index != i 再进行更换,否则不需要进行更换 if(index != i){ arr[index] = arr[i]; arr[i] = min; } } } }
测试结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理