当前位置: 首页 > news >正文

算法练习-排序-选择排序

package suanfadaohang1;
import java.util.*;
public class sf01 {

//选择排序
//假设第一位arr[0]是最小的数,再和arr[0]后面的所有数比较,如果小于arr[0]就和它交换位置,然后再到arr[1]和arr[1]后面的所有数字做比较
//每次将最小的放在前面
public static void selectionSort(int[] arr) {
int n=arr.length;
//遍历数组
for(int i=0;i<n-1;i++) {
int minIndex=i;
for(int j=i+1;j<n;j++) {
if(arr[j]<arr[minIndex]) {
minIndex=j;
}
}
if(i!=minIndex)//说明在数组后面找到了比arr[i]更小的数字,需要交换位置,把小的排到前面
{
int temp=arr[i];
arr[i]=arr[minIndex];
arr[minIndex]=temp;
}
}
}
//打印数组
public static void printArray(int[] arr) {
for(int i:arr) {
System.out.print(i+" ");
}
System.out.println();
}

public static void main(String[] args) {
int[] arr= {64,25,12,22,11};
System.out.println("排序前的数组:");
printArray(arr);
selectionSort(arr);
System.out.println("排序后的数组:");
printArray(arr);
}
}

http://www.dtcms.com/a/389516.html

相关文章:

  • 岭回归(Ridge Regression)在机器学习中的应用
  • python高级编程面试题
  • 模拟ic工程师如何提升自己?
  • springboot flowable 工作流入门与实战
  • 飞算Java的在线考试系统的设计与实现——学生开发者的课程实践记录
  • Vue3 基础语法详解:从入门到实践
  • 大白话聊明白:同步刷盘、异步刷盘以及RocketMQ和RabbitMQ的刷盘策略
  • I0流学习
  • 摄影灯MCU方案开发,摄影灯单片机分析
  • Salesforce知识点: LWC 组件通信全解析
  • Lua语言程序设计3:闭包、模式匹配、日期和时间
  • Freertos系列教学(删除函数的使用)
  • DevOps平台建设 - 总体设计文档的核心架构与关键技术实践
  • 系统中间件与云虚拟化-云数据库与数据库访问中间件ORM框架-Sannic-非实验
  • DTC BluSDR™系列-满足您所有的无人机通信需求
  • 【猛犸AI科技】深度强化学习SCI/EI/CCF/中文核心一站式辅导
  • 美创科技闪耀亚洲教育装备博览会,以数据安全护航教育数字化
  • 1.css的几种定位方式
  • 【C#】对比两个坐标点是否相同的多种方法
  • Ubuntu之旅-03 InfluxDB
  • IEEE出版,稳定检索!|2025年智能制造、机器人与自动化国际学术会议 (IMRA 2025)
  • iOS 上架流程详细指南 苹果应用发布步骤、ipa 文件上传 打包上架实战经验
  • MessageBus 通信组件库
  • 性能测试-jmeter12-万能插件包管理器jmeter-plugins
  • 工地项目管理系统有什么强大功能?工程企业实现数字化的步骤
  • 【开题答辩全过程】以 “萌崽”宠物社交小程序为例,包含答辩的问题和答案
  • Spring Cloud Alibaba微服务架构深度解析:基于Nacos、Gateway、OpenFeign与Sentinel的现代化实践
  • 大模型-Attention面试
  • Hadoop3.3.5搭建指南(简约版)
  • Python运算符与表达式