您的位置:首页 > 娱乐 > 八卦 > 海南乐东黎族自治县疫情_摄影设计工作室_重庆整站seo_企业网站建设目标

海南乐东黎族自治县疫情_摄影设计工作室_重庆整站seo_企业网站建设目标

2024/12/23 16:54:57 来源:https://blog.csdn.net/sheji888/article/details/143969597  浏览:    关键词:海南乐东黎族自治县疫情_摄影设计工作室_重庆整站seo_企业网站建设目标
海南乐东黎族自治县疫情_摄影设计工作室_重庆整站seo_企业网站建设目标

选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理是:首先在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

下面是一个用PHP实现选择排序的示例代码:

<?php
function selectionSort(&$array) {$n = count($array);for ($i = 0; $i < $n - 1; $i++) {// 假设当前元素为最小值$minIndex = $i;// 在未排序部分寻找最小值for ($j = $i + 1; $j < $n; $j++) {if ($array[$j] < $array[$minIndex]) {$minIndex = $j;}}// 交换当前元素和找到的最小值元素if ($minIndex != $i) {$temp = $array[$i];$array[$i] = $array[$minIndex];$array[$minIndex] = $temp;}}return $array;
}// 示例数组
$array = [64, 25, 12, 22, 11];
echo "未排序数组: ";
print_r($array);// 调用选择排序函数
$sortedArray = selectionSort($array);
echo "已排序数组: ";
print_r($sortedArray);
?>

代码解释:

  1. 函数定义selectionSort(&$array) 函数接收一个引用参数 $array,这样可以在函数内部直接修改原始数组。
  2. 外层循环for ($i = 0; $i < $n - 1; $i++),这个循环用于确定当前要排序的位置。
  3. 假设最小值$minIndex = $i,假设当前位置 $i 的元素为最小值。
  4. 内层循环for ($j = $i + 1; $j < $n; $j++),这个循环用于在未排序部分寻找最小值。
  5. 找到最小值:如果找到比当前假设最小值还小的元素,则更新 $minIndex
  6. 交换元素:如果找到的最小值不在当前位置 $i,则交换这两个元素的位置。
  7. 返回排序后的数组:函数返回排序后的数组。

输出:

未排序数组: Array
([0] => 64[1] => 25[2] => 12[3] => 22[4] => 11
)
已排序数组: Array
([0] => 11[1] => 12[2] => 22[3] => 25[4] => 64
)

这个示例展示了如何使用PHP实现选择排序算法,并成功对数组进行了排序。选择排序的时间复杂度是 O(n2),适用于小规模数据的排序。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com