php-直接插入排序

PHP直接插入排序 PHP直接插入排序 第一种插入排序 直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。 <?php $arr = [2,4,6,3,1,5,7,9,8]; print_arr($arr);//排序前 function print_arr($arr) { for ($i=0; $i < count($arr); $i++) { echo $arr[$i].'--'; 阅读详情
<?php
/*
直接插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。
设数组为 a[0…n-1]。
1. 初始时,a[0]自成 1 个有序区,无序区为 a[1..n-1]。令 i=1
2. 将 a[i]并入当前的有序区 a[0…i-1]中形成 a[0…i]的有序区间。
3. i++并重复第二步直到 i==n-1。排序完成。
 */


function i_sort($arr) {
	$len = count($arr);
	//3
	for ($i = 1; $i < $len; $i++) {
		//1
		for ($j = $i-1; $j >= 0; $j--) {
			//2  $j+1 = $i ,使用$j+1 为了找到$i所在的有序区间中的位置,从后往前便利
			if ($arr[$j+1] < $arr[$j]) {
				$tmp = $arr[$j];
				$arr[$j] = $arr[$j+1];
				$arr[$j+1] = $tmp;
			}
		}
	}
	return $arr;
}
$arr = [1,21,2,3,333,4,23];

$res = i_sort($arr);

print_r($res);
Cadence Spectre仿真保姆级教程:从DC/AC到PSS/PV,手把手教你搞定模拟电路分析 作为业界标准的Cadence Spectre仿真器,以其精确的算法和丰富的分析类型,成为每个模拟IC工程师必须掌握的利器。本文将带你从零开始,系统掌握Spectre仿真的核心技能,从最基础的DC工作点分析到复杂的PSS相位噪声仿真,每个步骤都配有详细的操作指导和实用技巧。记得我第一次使用Spectre仿真一个简单的两级运放时,花了整整三天时间才得到正确的AC响应曲线。过程中踩过的坑、浪费的时间,现在想来都是宝贵的学习资源。与传统的AC分析不同,STB分析可以在不破坏环路的情况下评估稳定性。 阅读详情

相关推荐

STM407ZET6+OV5640调试心得

最近一个项目用了STMF407ZET6 +OV5640,调试了好几天做些总结; STMF407ZET6 开发板用的是正点原子的开发板,OV5640摄像头用的是秉火摄像头; 这其中有一个大坑,开发板的DCMI接口跟摄像头的接口不一样,要重新用杜邦线进行连接; 本人是在正点原子的“”15,ATK-OV5640摄像头模块“”源码上进行修改的。

kingseacjh的专栏 8325

php排序算法之插入排序

目录 一: 原理 二: 举例说明 三: 插入排序步骤 四: PHP代码实现插入排序 一: 原理        插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 二: 举例说明 原始数组:     10   9   5   12  1           默认1...

俗人世界 1385

大模型训练显存瘦身全记录:从ZeRO-3参数分区到CPU Offload的硬件协奏曲

本文详细解析了如何通过ZeRO-3参数分区与CPU/NVMe卸载技术优化大模型训练的显存使用。结合bf16混合精度与梯度累积等策略,实现在消费级GPU上高效训练百亿参数模型,显著提升硬件利用率与训练效率。

weixin_29051245的博客 435

php实现插入排序

1.插入排序的概念 它是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 其实这个我们并不陌生,举一个现实中的小例子,我们都打过扑克,拿到牌时,就需要对扑克进行抹顺,一般都是按着左右是从小到大的顺序,新来了一张牌,我们是不是一张一张的进行比较,找到它合适的位置,这就是插入排序。 2.代码实现 function InsertSort(&$arr){

Mr.yang 564

双轮差动机器人SLAM实战:轮速里程计从建模到精度验证(附Matlab代码)

本文详细介绍了双轮差动机器人SLAM系统中轮速里程计的实现全流程,包括核心原理、建模方法、Matlab代码实现及精度验证。通过轮速仪数据建模和连续积分算法,提升定位精度,并附有完整的误差分析和工程优化技巧,为开发者提供实用参考。

weixin_29050271的博客 222

MPU6050 加速度计和陀螺仪传感器与 Arduino 的接口

虽然该模型并不能准确代表现实世界中加速度计传感器的构建方式,但它通常有助于理解为什么加速度计的输出信号通常以 ±g 为单位指定,或者为什么加速度计在静止时在 z 轴上的读数为 1g,或者在不同方向上您可以期望得到什么样的加速度计读数。该模块的核心是低功耗、低成本的 6 轴运动跟踪芯片 MPU6050,它将 3 轴陀螺仪、3 轴加速度计和数字运动处理器 (DMP) 集成到一个 4mm x 4mm 的微型芯片中。小时候,科学博览会上的陀螺仪总是让我们感到惊讶,因为它们以奇怪的方式移动,甚至似乎违背了重力。

sxstj的博客 9932

PHP实现插入排序

插入排序(Insertion Sort)是一种简单直观的排序算法,适用于少量数据的排序。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

sheji888的专栏 675

Kali Linux实战:Aircrack-ng破解Wi-Fi密码的完整流程与常见问题解决

本文详细介绍了在Kali Linux中使用Aircrack-ng套件进行Wi-Fi密码破解的完整流程,包括环境准备、无线网卡配置、网络扫描、握手包捕获与字典破解等关键步骤。同时针对无线网卡不支持监听模式、无法捕获握手包等常见问题提供了实用解决方案,帮助安全研究人员有效评估无线网络安全性。

weixin_29323049的博客 296

php设置排序,7种php基本排序实现方法

本文总结了一下常用的7种排序方法,并用php语言实现。1、直接插入排序/** 直接插入排序,插入排序的思想是:当前插入位置之前的元素有序,* 若插入当前位置的元素比有序元素最后一个元素大,则什么也不做,* 否则在有序序列中找到插入的位置,并插入*/function insertSort($arr) {$len = count($arr);for($i = 1; $i < $len; $...

weixin_28984915的博客 574

手把手教你低成本复刻大疆C板缓启动电路(附原理图与选型清单)

本文详细介绍了如何低成本复刻大疆C板缓启动电路,包括核心器件选型、电路搭建与调试实战、参数优化方法论及进阶改进思路。通过替代型号和优化设计,实现功能相近的缓启动电路,成本不到原方案的1/3,适合电子爱好者、在校学生和预算紧张的硬件工程师。

weixin_29197051的博客 397

CRC_16---ModBus 计算方法及代码实现

1、 CRC寄存器初始值为 0xFFFF;即16个字节全为1; 2、 CRC-16 / ModBus的多项式0xA001H (1010 0000 0000 0001B) ; ‘H’表示16进制数,‘B’表示二进制数。 计算步骤为: (1).预置 16 位寄存器为十六进制 0xFFFF(即全为 1) ,称此寄存器为 CRC 寄存器; (2).把第一个 8 位数据与 16 位 CRC 寄存器的低位相异或,把结果放于 CRC 寄存器; (3).检测相异或后的CRC寄存器的最低位,若最低位为1,CRC寄存器

1万+

插入排序的原理及php实现

核心思想:插入排序就是把一组数字分成两部分,一部分是排好顺序的,另一部分是没有排好顺序的,然后,就是从没有排好顺序的那组数字中获取数字,把它插入到已经排好的顺序的那部分数字中,当然,在插入到已经排好顺序的那部分数字时,你还必须让这个插入进来的数字与已经排好顺序的数字进行比较,为的是保证已经排好的顺序的那部分数字不被打乱。 &lt;?php function charu_sort($arr){ ...

会飞的鱼的博客 854

【系统分析师】写作框架:软件设计模式及其应用

本文围绕"软件设计模式及其应用"展开论述。首先介绍了近三年参与的某软件开发项目背景及个人承担的系统设计工作。其次系统阐述了设计模式的三大分类:创建型(如工厂方法、单例模式)、结构型(如适配器、装饰器模式)和行为型(如观察者、策略模式),重点分析了各类模式的特点和典型应用场景。最后结合项目实践,详细说明了采用的三种设计模式的具体实施过程及效果,包括提高代码复用性、降低耦合度等优势。文章还总结了项目经验,指出存在的不足及改进方向,强调合理运用设计模式对构建高质量软件系统的重要性。全文通过理论

数据知道的博客 5060

php代码编写直接插入排序算法,PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析...

本文实例讲述了PHP排序算法之直接插入排序(Straight Insertion Sort)。分享给大家供大家参考,具体如下:算法引入:在这里我们依然使用《大话数据结构》里面的一个例子:扑克牌是我们几乎每个人都玩过的游戏。平时我们开始的时候一般都是一个人发牌,其他人都是一边摸牌,一边理牌,假如你摸上的第一张牌是 5,第二张牌是 3,自然而然的我们把 3 插到 5 的前面;第三张牌是 4,查到 3 ...

weixin_29481259的博客 133

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

插入排序 php,PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析

本文实例讲述了PHP排序算法之直接插入排序(Straight Insertion Sort)。分享给大家供大家参考,具体如下:算法引入:在这里我们依然使用《大话数据结构》里面的一个例子:扑克牌是我们几乎每个人都玩过的游戏。平时我们开始的时候一般都是一个人发牌,其他人都是一边摸牌,一边理牌,假如你摸上的第一张牌是 5,第二张牌是 3,自然而然的我们把 3 插到 5 的前面;第三张牌是 4,查到 3 ...

weixin_39915267的博客 142

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

算法插入排序之直接插入排序详解(PHP代码实现)

直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。 直接插入排序的思想:每一趟将一个待排序的记录,按其关键字的大小插入到已经排好序的一组记录的适当位置上,直到所有待排序记录全部插入为止。直接插入排序引入了哨兵,设置监视哨是为了在查找插入位置的过程中避免数组下标出界。 直接插入排序的过程图: 直接插入排序的效率: 从空间上看,它只需要一个记录的辅助空间。 ...

艺术编程 682

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

PHP 直接插入排序

一般直接插入排序的时间复杂度为O ( n^2 ) ,但是当数列基本有序时,如果按照有数列顺序排时,时间复杂度将改善到O( n ) 1 &lt;?php 2 #指定部分数组元素全部向后移动一位 3 function move(Array $arr, $start = null, $end = null) { 4 if(!isset($sta...

weixin_34406796的博客 116

PHP算法:直接插入排序

直接插入排序(Straight Insertion Sort)是一种最为简单的排序方法,因此也被称为简单插入排序。 直接插入排序的基本思想是:第i趟排序将序列中的第i+1个元素Ki+1插入到一个已经按值有序的子序列(k1,k2,...,ki)中合适的位置,使得插入后的序列依然保持按值有序。   算法描述 实现程序 void insert_sort(ElemType a[],int n...

purpen 171

直接插入排序(php代码实现)

public function run() { //直接插入排序 $array = [5, 2, 7, 1, 3, 4, 6, 9, 8]; $this->directInsertSort($array); print_r($array); } private function directInsertSort(Array &$array) { $co

积木的博客 570

PHP数据结构(4) 直接插入排序

直接插入排序就是将一个待排序的元素按照大小顺序插入到一个已经排序好的数组中,假设一个有N个元素的无序数组,将进行N-1次的插入既能完成排序。 例如一个有5个元素的无序数组,其将进行4次插入排序,如:$array(15,7,43,22,18) 第一次::$array(15)   将元素7插入该数组,排序后: $array(7,15)         第二次:$array(7,15)  将元素4

不负此生 612

插入排序 直接插入排序的PHP实现 Straight Insertion Sort

直接插入排序(straight insertion sort)的PHP实现,很有用的一个函数array_splice,用好了很强的函数。 view source print? 01 function out_arr($arr) { 02     return implode(', '

stuartjing的专栏 731

数据结构之直接插入排序---PHP版

直接插入排序的基本操作就是将一个记录有序的插入到已有的有序表中,从而得到一个新的记录数增加1的有序表。 一、直接插入排序就是在逻辑上将一个数插入到已有的有序表中,所以我们需要一个辅助空间。 二、代码实现(PHP版本) function insert(&$list) { $count = count($list) - 1; $tmp = null;//哨兵 ...

GoldenLeeK的博客 243

[100天每天一个算法--第9天] PHP实现直接插入排序

直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。 逻辑比较简单,这里博主直接贴代码供大家参考 php实现代码如下: &lt;?php /*直接插入排序*/ $arr = [2,4,6,3,1,5,7,9,8]; print_arr($arr);//排序前 insertso...

抬山的博客 510
上一篇: php 正则获取字符串中某段未知子串
下一篇: php-希尔排序
龘麤三思
博客等级 码龄10年 11粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值