深入浅出的排序算法-选择排序

前言

大家好,我是 Vic,今天给大家带来选择排序算法,希望你们喜欢

选择排序

选择排序比冒泡排序快一些,现在讲的选择排序比冒泡排序快一些,也是常用的排序算法。

选择排序是第一个人和后续排序的人进行比较,若第一个人大于第二个人,就进行交换,那么这时第一人就是最小的,然后这时的第一个人和第三个人进行比较,若这时的第一个人大于第三个人,就进行交换位置,这时第一个人又换人了,也变得更小了,就这样,把剩下的人以这种方法进行比较,直到最后,第一轮结束,在第一位的就是最小的值。

这种就是排序算法,比如有6个人,第一轮要进行5次比较,不是。

  • 代码示例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    //第一轮  
    for(int index=1;index<arr.length;index++)
    {
    if(arr[0]>arr[index])
    {
    int temp = arr[0];
    arr[0] = arr[index];
    arr[index] = temp;
    }
    }
    print(arr);

    //第二轮
    for(int index=2;index<arr.length;index++)
    {
    if(arr[1]>arr[index])
    {
    int temp = arr[1];
    arr[1] = arr[index];
    arr[index] = temp;
    }
    }
    print(arr);

    //第三轮
    for(int index=3;index<arr.length;index++)
    {
    if(arr[2]>arr[index])
    {
    int temp = arr[2];
    arr[2] = arr[index];
    arr[index] = temp;
    }
    }
    print(arr);

    //第四轮
    for(int index=4;index<arr.length;index++)
    {
    if(arr[3]>arr[index])
    {
    int temp = arr[3];
    arr[3] = arr[index];
    arr[index] = temp;
    }
    }
    print(arr);

    //第五轮
    for(int index=5;index<arr.length;index++)
    {
    if(arr[4]>arr[index])
    {
    int temp = arr[4];
    arr[3] = arr[index];
    arr[index] = temp;
    }
    }
    print(arr);

    //第六轮没有,我们arr.length=6举例
    //int index = 6;index<arr.length; false
  • 优化

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public static void selectionSort(int[] arr)  
    {
    for(int count=1;count<arr.length;count++)
    {
    for(int index=count;index<arr.length;index++)
    {
    if(arr[count-1]>arr[index])
    {
    int temp = arr[count-1];
    arr[count-1] = arr[index];
    arr[index] = temp;
    }
    }
    }

总结

  • 本文讲了选择排序,如果您还有更好地理解,欢迎沟通
  • 定位:分享 Android&Java知识点,有兴趣可以继续关注
-------------本文结束感谢您的阅读-------------
达叔小生 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
坚持原创技术分享,您的支持将鼓励我继续创作!
0%