【PHP面试题】请写出常见的排序算法,并用PHP实现冒泡排序,将数组按照从小到大的方式进行排序。

一、考点

1、冒泡排序原理和实现

1)原理

两两相邻的数进行比较,如果反序就交换,否则不交换。


2)实现

1, 3, 2, 4, 6, 5,进行冒泡排序。

步骤如下:

第一轮:拿 1,3,进行比较, 1 < 3,因此位置不变,第一轮得到 1,3,2,4,6,5
第二轮:拿 3, 2,进行比较,3 > 2,因此交换位置,第二轮得到 1,2,3,4,6,5
第三轮:拿 3, 4,进行比较,3 < 4,因此位置不变,第三轮得到 1,2,3,4,4,6,5
第四轮:拿 4, 6,进行比较,4 < 5,因此位置不变,第四轮得到 1,2,3,4,6,5
第五轮:拿 6, 5,进行比较,6 > 5,因此交换位置,第五轮得到 1,2,3,4,5,6

冒泡排序最终结果:1,2,3,4,5,6

在这里插入图片描述

在这里插入图片描述


2、延伸

1)算法的概念

1 + 2 + 3 + 4 + … + n 的值是多少?

① 解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作;

② 一个问题可以有多种算法,每种算法都不同的效率;

如: 1 + 2 + 3 + 4 + … + n的值,这道题,可以进行改进一下,不要直接加,直接加的效率很低。可以采用 梯形的面积算法(上底 + 下底

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值