选择排序

选择排序原理:

  选择排序的第一层循环从起始元素开始选到倒数第二个元素,主要是在每次进入的第二层循环之前,将外层循环的下标赋值给临时变量,接下来的第二层循环中,如果发现有比这个最小位置处的元素更小的元素,则将那个更小的元素的下标赋给临时变量,最后,在二层循环退出后,如果临时变量改变,则说明,有比当前外层循环位置更小的元素,需要将这两个元素交换.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class SelectionSort {
    public static void main(String[] args) {
        System.out.print("选择排序:");
        int [] a={1,23,78,34,90,5,10,123,002};
        //选择排序的优化
        for(int i=0;i<a.length-1;i++){//做第i趟排序
            int k=i;
            for(int j=k+1;j<a.length;j++){//选最小的记录
                if(a[j]<a[k]){
                    k=j;    //记下目前最小值的位置       
            }
            }      
        //在内层循环结束,也就是找到本轮循环的最小的数以后,再进行交换
        if(i!=k){
            int tmp=a[i];
            a[i]=a[k];
            a[k]=tmp;
        }
    }
        for(int i=0;i<a.length;i++){
            System.out.print(a[i]+",");    
        }
    }
}

控制台的输出结果为:选择排序:1,2,5,10,23,34,78,90,123,

posted @   怡安  阅读(200)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示