PHP编程试题:插入数维护原排序方式的挑战
PHP编程试题中,有一道关于在一组数中插入一个数并保持原排序方式的题目。题目要求编写一个函数func($arr,$val),其中$arr为原数组,$val为待插入的数。如果$arr为空,则直接将$val插入$arr中;否则,需要在$arr中找到适合插入$val的位置,并保持原有的排序方式。具体实现如下: ```php function func($arr, $val) { $len = count($arr); if ($len == 0) $arr[] = $val; else { $i = 0; while ($i < $len - 1 && $arr[$i] <= $arr[$i + 1]) $i++; if ($arr[$i] > $arr[$i + 1]) { for ($j = 0; $arr[$j] < $val; $j++); for ($k = $len; $k > $j; $k--) $arr[$k] = $arr[$k - 1]; $arr[$j] = $val; } } return $arr; } ``` 该函数首先判断$arr是否为空,若为空,则直接将$val插入$arr的第一个位置;若$arr不为空,则在$arr中寻找适合插入$val的位置,并保持原有排序方式。具体实现是通过遍历数组找到第一个不符合排序规则的位置$i,然后通过找到合适的插入位置$j,将$val插入到$j处,并移动后面的元素以腾出位置。 以上就是这道PHP编程题目的解答,通过编写func函数实现在一组数中插入新数并保持排序方式。
![](https://csdnimg.cn/release/download_crawler_static/6423151/bg7.jpg)
![](https://csdnimg.cn/release/download_crawler_static/6423151/bg8.jpg)
剩余37页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)