• 技术文章 >头条 >PHP

    php选择排序是什么

    小妮浅浅小妮浅浅2021-02-08 17:28:51原创17656

    我们之前接触的排序方法都是从小到大,又或者顺序颠倒过来。本篇要讲的选择排序有一些特殊,从它的名称上就可以看出,需要选择每次排序时最小的数放在开头,然后在剩下的队列中重复这个过程。下面我们就选择排序的原理、使用规则、与其他排序区别、实例带来介绍。

    1.原理

    在一组数据中,选出最小的数与第一个位置交换

    然后在剩下的数据中在找出最小的数和第二个位置交换

    然后在剩下的数据中在找出最小的数和第三个位置交换

    依次类推直到倒数第二个数和最后一个数对比

    2.使用规则

    (1)数组开始索引是明确的,一般是0。

    (2)数组索引的必须是连续的整型或者数字字符串或者两者混合。

    3.与冒泡排序的区别

    冒泡排序没发现一个异常顺序就进行一次调换,选择排序是以数组下标(每遍历一次记住最小值小标)代替中间的调换,等到最后进行一次调换即可。

    4.实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    <?php

    function selectionSort ($arr) {

            $count = count($arr);

            for ($i = 0; $i < $count - 1; $i++) {

                    $minIndex = $i;

                    for ($j = $i + 1; $j < $count; $j++) {

                            if ($arr[$minIndex] > $arr[$j]) {

                                    $minIndex = $j;

                            }

                    }

                    if ($minIndex != $i) {

                            $temp = $arr[$i];

                            $arr[$i] = $arr[$minIndex];

                            $arr[$minIndex] = $temp;

                    }

            }

            return $arr;

    }

      

    $arr = [15, 3, 6, 43, 132, 4, 28, 39, 99];

      

    $res = selectionSort($arr);

    print_r($res);

    以上就是php选择排序的基本介绍,可以说整个队列中最小的数值不一定是开头的那个,这也是选择排序产生结果的一种特色。大家对这种排序方法感兴趣的话,可以照着上面的实例代码试一试。更多php学习指路:php教程

    专题推荐:php选择排序
    上一篇:php冒泡排序从小到大的操作 下一篇:php插入排序的用法

    相关文章推荐

    • php索引数组有什么用?• php之laravel调度执行及出错解决• PHP索引数组的优点分析• php数组排序函数• php冒泡排序是什么意思• php冒泡排序从小到大的操作

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网