iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP常见算法 - 选择排序 排序步骤输出展示
  • 927
分享到

PHP常见算法 - 选择排序 排序步骤输出展示

算法php排序算法 2023-09-05 13:09:32 927人浏览 泡泡鱼
摘要

// 将数组由小到大排序$arr = [3, 4, 2, 8, 9, 1, 6];echo JSON_encode($arr).'';// 1、需要选择的次数,每次只能选择一个最大或者最小值for ($i = 0, $len = count

// 将数组由小到大排序$arr = [3, 4, 2, 8, 9, 1, 6];echo JSON_encode($arr).'

';// 1、需要选择的次数,每次只能选择一个最大或者最小值for ($i = 0, $len = count($arr); $i < $len; $i++) { // 2、假设第一个值就是最小值 $min = $i; echo '第'.($i+1).'次的min值:'.$arr[$min].'
'; echo '内层输出:
'; // 3、将最小值和其他剩余值一一比较 for ($j = 1 + $i, $len = count($arr); $j < $len; $j++) { // 4、找到最小值 if ($arr[$min] > $arr[$j]) { $min = $j; } echo $arr[$j].'(k:'.$j.')
'; } // 输出每次找到的最小值 echo '内层排序得到的最小值 k:'.$min.'--val:'.$arr[$min].'

'; // 5、当前值与最小值交换位置 if ($min != $i) { $temp = $arr[$i]; $arr[$i] = $arr[$min]; $arr[$min] = $temp; } // 输出每次排序插入数据的值 echo '第'.($i+1).'圈的结果:'.json_encode($arr).'


';}echo json_encode($arr);

输出的结果:

---------------------------------------------------------------------------------------------------------------------------------

源数组:[3,4,2,8,9,1,6]

第1次的min值:3
内层输出:
4(k:1)
2(k:2)
8(k:3)
9(k:4)
1(k:5)
6(k:6)
内层排序得到的最小值 k:5--val:1

第1圈的结果:[1,4,2,8,9,3,6]


第2次的min值:4
内层输出:
2(k:2)
8(k:3)
9(k:4)
3(k:5)
6(k:6)
内层排序得到的最小值 k:2--val:2

第2圈的结果:[1,2,4,8,9,3,6]


第3次的min值:4
内层输出:
8(k:3)
9(k:4)
3(k:5)
6(k:6)
内层排序得到的最小值 k:5--val:3

第3圈的结果:[1,2,3,8,9,4,6]


第4次的min值:8
内层输出:
9(k:4)
4(k:5)
6(k:6)
内层排序得到的最小值 k:5--val:4

第4圈的结果:[1,2,3,4,9,8,6]


第5次的min值:9
内层输出:
8(k:5)
6(k:6)
内层排序得到的最小值 k:6--val:6

第5圈的结果:[1,2,3,4,6,8,9]


第6次的min值:8
内层输出:
9(k:6)
内层排序得到的最小值 k:5--val:8

第6圈的结果:[1,2,3,4,6,8,9]


第7次的min值:9
内层输出:
内层排序得到的最小值 k:6--val:9

第7圈的结果:[1,2,3,4,6,8,9]


结果:[1,2,3,4,6,8,9]

---------------------------------------------------------------------------------------------------------------------------------

以前对于选择算法,就是囫囵吞枣的理解,可今天当这样,将每次遍历的结果,都打印出来的时候,所有的一切都清明了。

理解也更深一层了!

记录一下。

来源地址:https://blog.csdn.net/LDR1109/article/details/130423720

--结束END--

本文标题: PHP常见算法 - 选择排序 排序步骤输出展示

本文链接: https://www.lsjlt.com/news/395355.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP常见算法 - 选择排序 排序步骤输出展示
    // 将数组由小到大排序$arr = [3, 4, 2, 8, 9, 1, 6];echo json_encode($arr).'';// 1、需要选择的次数,每次只能选择一个最大或者最小值for ($i = 0, $len = count...
    99+
    2023-09-05
    算法 php 排序算法
  • python排序算法之选择排序
    一、前言 相关知识来自《python算法设计与分析》。初级排序算法是指几种较为基础且容易理解的排序算法。初级排序算法包括插入排序、选择排序和冒泡排序3种。虽然它们的效率相对于高级排序...
    99+
    2023-05-17
    python排序算法 python选择排序
  • java 排序算法之选择排序
    目录基本介绍基本思想思路分析代码实现演变过程优化算法函数封装大量数据耗时测试基本介绍 选择排序(select sorting)也属于内部排序法,是从欲排序的数据中,按指定的规则选出来...
    99+
    2024-04-02
  • Java排序算法之选择排序
    目录一、选择排序二、代码实现三、测试一、选择排序 选择排序就是在每一次遍历过程中将数组中值最小的排到当前的第一位。 总共需要(数组长度-1)次遍历,在每次遍历中假定第一位索引的值为最...
    99+
    2024-04-02
  • Python排序算法之 选择排序
      一、选择排序(Selection sort)  选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,所以称为:选择排序。  1、原...
    99+
    2023-06-02
  • C语言排序算法之选择排序(直接选择排序,堆排序)
    目录前言一、直接选择排序1.1 算法思想1.2 代码实现1.3 直接选择排序的特征总结二、堆排序2.1 什么是堆?2.2 判断是否是堆2.3 向下调整算...
    99+
    2024-04-02
  • 排序算法图解之Java选择排序
    目录1.选择排序简介2.图解选择排序算法3.选择排序代码实现1.选择排序简介 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元...
    99+
    2022-11-13
    Java选择排序 Java 排序
  • java排序算法之选择排序详解
    本文实例为大家分享了java排序算法之选择排序的具体代码,供大家参考,具体内容如下 选择排序 选择排序的思路是这样的:首先,找到数组中最小的元素,拎出来,将它和数组的第一个元素交换位...
    99+
    2024-04-02
  • C#算法之冒泡排序、插入排序、选择排序
    冒泡排序法 是数组等线性排列的数字从大到小或从小到大排序。 以从小到大排序为例。 数据 11, 35, 39, 30, 7, 36, 22, 13, 1, 38, 26, 18, 1...
    99+
    2024-04-02
  • 20190426-选择排序算法
    它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 算法: step1:先写算法...
    99+
    2023-01-31
    算法
  • C语言常见排序算法归并排序
    目录前言 一、归并排序1.1 基本思想1.2 算法思想1.3 程序设计思想1.4 程序实现1.5 归并排序的特性总结前言 本期为大家带来的是常见排序算法中的归并排序,博主在...
    99+
    2024-04-02
  • C语言常见排序算法之交换排序(冒泡排序,快速排序)
    目录前言1.交换排序——冒泡排序1.1 算法思想1.2 动图演示1.3 冒泡最好的情况 2. 交换排序——快速排序...
    99+
    2024-04-02
  • PHP如何实现常见排序算法
    本篇内容介绍了“PHP如何实现常见排序算法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、冒泡排序两两相比,每循环一轮就不用再比较最后一个...
    99+
    2023-07-01
  • PHP实现常见排序算法的示例代码
    目录1、冒泡排序2、选择排序3、快速排序4、插入排序补充1、冒泡排序 两两相比,每循环一轮就不用再比较最后一个元素了,因为最后一个元素已经是最大或者最小。 function maop...
    99+
    2024-04-02
  • Java 十大排序算法之选择排序刨析
    目录选择排序原理选择排序API设计选择排序代码实现选择排序的时间复杂度选择排序原理 ①假设第一个索引处的元素为最小值,和其他值进行比较,如果当前的索引处的元素大于其他某个索引处的值,...
    99+
    2024-04-02
  • 常见的php排序算法有哪些
    常见的PHP排序算法有以下几种:1. 冒泡排序(Bubble Sort):依次比较相邻的两个元素,将较大的元素向后移动,直到最后一个...
    99+
    2023-08-25
    php
  • java排序算法之_选择排序(实例讲解)
    选择排序是一种非常简单的排序算法,从字面意思我们就可以知道,选择就是从未排序好的序列中选择出最小(最大)的元素,然后与第 i 趟排序的第 i-1(数组中下标从 0 开始) 个位置的元素进行交换,第 i 个元素之前的序列就是已经排序好的序列。...
    99+
    2023-05-31
    java 选择排序 算法
  • python排序算法之选择排序怎么实现
    一、前言初级排序算法是指几种较为基础且容易理解的排序算法。初级排序算法包括插入排序、选择排序和冒泡排序3种。虽然它们的效率相对于高级排序算法偏低,但是在了解初级排序算法之后,再去学习相对复杂的高级排序算法会容易许多。二、描述选择排序表示从无...
    99+
    2023-05-17
    Python
  • JAVA十大排序算法之选择排序详解
    目录选择排序代码实现动图演示代码实现时间复杂度算法稳定性总结选择排序 1.找到数组中最大(或最小)的元素 2.将它和数组的第一个元素交换位置(如果第一个元素就是最大(小)元素那么它就...
    99+
    2024-04-02
  • TypeScript十大排序算法之选择排序实现示例详解
    目录一. 选择排序的定义二. 选择排序的流程三. 选择排序的图解四. 选择排序的代码五. 选择排序的时间复杂度六. 选择排序的总结一. 选择排序的定义 选择排序(Selection...
    99+
    2023-02-23
    TypeScript 选择排序算法 TypeScript 算法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作