选择排序
public void selectSort(int[] a){//其实选择排序比冒泡排序要快
/*int minIndex=0;
int min=a[0];
for (int i = 0+1; i < a.length; i++) {
if (min>a[i]){
min=a[i];
minIndex=i;
}
}
a[minIndex]=a[0];
a[0]=min;
System.out.println("第一轮后~");
System.out.println(Arrays.toString(a));
minIndex=1;
min=a[1];
for (int i = 1+1; i < a.length; i++) {
if (min>a[i]){
min=a[i];
minIndex=i;
}
}
if (minIndex!=1){
a[minIndex]=a[1];
a[1]=min;
}
System.out.println("第二轮后~");
System.out.println(Arrays.toString(a));
minIndex=2;
min=a[2];
for (int i = 2+1; i < a.length; i++) {
if (min>a[i]){
min=a[i];
minIndex=i;
}
}
if (minIndex!=2){
a[minIndex]=a[2];
a[2]=min;
}
System.out.println("第三轮后~");
System.out.println(Arrays.toString(a));*/
/*
给你看看我的原代码,它就像一面旗帜,最左边那个屹立不动,
public void selectSort(int[] a){
//它也只需要进行a.length-1这么多轮就够了
for (int i = 0; i < a.length-1; i++) {//这是假定的最小值(即应该在的位置)
int min_true=i;//这是找到的真正最小值,先假设为i
for (int j = i+1; j < a.length; j++) {
if (a[min_true]>a[j]){
min_true=j;
}
}
//找到了真正的之后就交换
int temp=a[i];
a[i]=a[min_true];
a[min_true]=temp;
}
}
*/
for (int i = 0; i < a.length - 1; i++) {
int minIndex=i;
int min=a[i];
for (int j = i+1; j < a.length; j++) {
if (min>a[j]){
min=a[j];
minIndex=j;
}
}
if (minIndex!=i){
a[minIndex]=a[i];
a[i]=min;
}
//System.out.println(Arrays.toString(a));
}
}
这一路,灯火通明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现