首页
学习
活动
专区
圈层
工具
发布

数组插入排序

插入排序是一个相对复杂一点的排序算法,但是效率要比我们以前接触过的排序算法快一些,他的思想是将数组分为两组数据(第一次分的时候就是数组第一个元素为一组,后面的所有元素为一组),然后从后面一组数据中抽取第一个元素与前面一组数据依次做对比...,按需求将大的或者小的值插入到前面的一组数据中,最终后面一组数据全部插入完毕后,前面一组数据就是有序状态了。...这个数据,记录到临时变量中,此时 2 这个数据的位置就空下来了,让临时数据与前面的数据依次对比(目前只有一个数据,如果超过1个数据就要依次对比)比 2 大的就向后移动一个位置,如果比 2 小,那么 2 就插入到移动后空闲出来的位置...上面这个分组经过第一次插入排序后,结果是这样的。

42320
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP数组

    PHP数组: 创建定义数组: 数值数组: array():定义数组 $Array = array("Ubantu","CetOS","Kali"); 如上array()函数定义的内容会以数组的形式传给变量...> 数组排序: sort():升序 php $Array = array("Ubantu","CetOS","Kali"); sort($Array); ?...php $Array = array("Ubantu","CetOS","Kali"); rsort($Array); ?> asort():关联数组key升序 <?...():用户自定义排序 实现自定义排序方法,就需要使用函数:usort() 告诉PHP如何对排序对象进行比较 PHP内置了比较函数:compare(),用户自定义排序方法需要覆写PHP的比较函数 function...) each():前移一位指针并返回元素(value) next():后移一位指针并返回元素(value) pos()/prev():当前指针往回移一个位置然后返回元素 数组元素引用函数: array_walk

    10.9K20

    Java数组插入或删除元素

    Java数组常见操作练习 ---- Java数组插入或删除元素 **练习1.随机生成一个整数型数组(1-10数组长度随机,0-50数组元素随机) 在其数组的最后追加一个1-50随机数值** public...(数组长度和数组元素都是键盘输入) 在数组中任意位置上插入一个从键盘上录入的数值,打印出 插入指定数值后的新数组** import java.util.Scanner; public class...printArray(arr); Scanner s=new Scanner(System.in); System.out.print("请您输入一个所需要插入的数值...:"); int value=s.nextInt(); System.out.print("请您输入所需要插入的位置索引值:"); int position...(数组的逆序) /* 数组的反转(逆数组) */ package oldboy; public class ArrayDemo_2 { public static void main(String

    2.2K30

    PHP 的数组

    数组就是一组数据的集合,把一系列数据组织起来。如果变量是存储单个值的容器,那么数组就是存储多个值的容器。数组每个实体包含一个键和一个值。 PHP的数组概念和python的元组和字典类似。...PHP的索引数组对应python的元组,PHP的关联数组对应python的字典。...本文包含 数组声明 数组输出 多维数组 遍历数组 字符串和数组的转换 统计数组中元素的个数 查询数组中指定的元素 获取数组中最后一个元素 向数组中添加元素 删除数组中重复的元素 1....多维数组:如果一维数组的一个元素是一个数组,那么这个数组就是二维数组。同理,可以构造多维数组。...查询数组中指定的元素:array_search()函数用于在数组中搜索给定的值,找到后返回键值,否则返回false,在php4.2.0之前没找到会返回null。

    9.2K51

    PHP-数组

    数组可以使单个变量中存储多个值的特殊变量,php中的数组使用array();来定义,或者用[]来定义,php中的数组相当于python中的列表。...在php中,有三种类型的数组: 数值数组:带有数字ID键的数组,等同于Python中的列表(list) 关联数组:带有指定的键的数组(Key->Vaule),等同于Python中的字典(dict) 多维数组...:包含一个或多个数组的数组。...php中有两种创建关联数组的方法: 1.创建关联数组 //直接使用array定义 $age=array("Lili"=>"28","Bob"=>"19","Ben"=>"38"..."; 多维数组 多维数组是包含一个或多个数组的数组(一个数组中的值可以是另外一个数组,另外一个数组的值也可以是一个数组),在多维数组中,主数组的每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组

    7.1K80

    PHP数组函数

    创建数组 count($array) 统计数组元素个数 list($a,$b) 将数组的键和值赋给一些变量 key($array) 获取当前元素的键 current($array) 获取当前元素的值 next...end($array) 将指针移动到最后一个数组元素,并返回该元素的值 sort($array,flag) 正序,改变数组下标 rsort($array,flag) 倒序,改变数组下标 arost($...array_keys($array) 获取数组中所有的键名,返回值为数组 array_values($array) 获取数组中所有的值,返回值为数组 in_array($array,$array) 在数组中查找某个值...array_splice($array,start,length,$replacearray) 在指定位置删除0个以上的元素并插入新元素 array_merge($array1,$array2) 两个或以上的数组合并成一个新的数组...array_merge_recursive($array1,$array2,$array3) 两个或两个以上的数组合并成一个新数组 array_chunk($array,size) 将数组分割为新的数组块

    7.2K20

    PHP数组详解

    大家好,又见面了,我是全栈君 作为一名C++程序员,在转做PHP开发的过程中,对PHP数组产生了一些混淆,与C++数组有相似的地方,也有一些不同,下面就全面地分析一下PHP的数组及其与C++中相应数据类型的区别和联系...数组的分类: 1、数值数组:也叫索引数组,即以数字(从0 开始)作为数组下标。相当于C++中的vector。 2、关联数组:以字符串作为数组下标。相当于C++中的map。...3、多维数组:数组中每个元素也是一个数组。其子数组中的每个元素也可以是数组。 数组的声明: 1、数值数组 a、如下例子中,会自动分配数字ID键。...php $names[0] = "Peter"; $names[1] = "Joe"; $names[2] = "Lily"; echo $names[0...php $ages["Peter"] = "32"; $ages["Joe"] = "30"; $ages["Lily"] = "28"; echo "Peter

    5.1K10

    PHP数组函数

    PHP数组函数是核心的一部分。...array_combine 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 array_count_values 统计数组中所有的值 array_diff_assoc 带索引检查计算数组的差集...合并一个或多个数组 array_multisort 对多个数组或多维数组进行排序 array_pad 以指定长度将一个值填充进数组 array_pop 弹出数组最后一个单元(出栈) array_product...array_replace_recursive 使用传递的数组递归替换第一个数组的元素 array_replace 使用传递的数组替换第一个数组的元素 array_reverse 返回单元顺序相反的数组...在数组开头插入一个或多个单元 array_values 返回数组中所有的值 array_walk_recursive 对数组中的每个成员递归地应用用户函数 array_walk 使用用户自定义函数对数组中的每个元素做回调处理

    6.3K00

    PHP数据结构-插入类排序:简单插入、希尔排序

    i]; // 取出未排序序列第一个元素 for ($j = $i; $j > 0 && $arr[$j - 1] > $tmp; $j--) { // 判断从当前下标开始向前判断,如果前一个比当前元素大...我们就拿测试数据的前两个数来简单地说明一下。 首先,第一个循环是从 1 开始的,也就是说,第一个取出的未排序序列元素是 tmp = arr[1] ,也就是当前的 tmp = 38 。...,之后的数组结果是 13、27、49、97、76、49、38、65 。...对这两组数据进行简单插入排序之后更新数组结果为 13、27、49、38、65、49、97、76 。 3)其实从两次分组排序之后就可以看出,这个数组已经基本有序了。...、希尔排序.php 参考文档: 本文示例选自 《数据结构》第二版,严蔚敏 《数据结构》第二版,陈越

    1.4K40

    PHP 数组:索引数组与关联数组

    在静态语言(C、Java、Go)中,数组的定义通常是同一类型数据的连续序列,PHP 的数组从功能角度来说更加强大,可以包含任何数据类型,支持无限扩容,并且将传统数组和字典类型合二为一,在 PHP 中,传统的数组对应的是索引数组...,字典类型对应的是关联数组,这得益于 PHP 底层通过哈希表实现数组功能。...我们在 php_learning/basic 目录下创建 array.php 来存放本教程编写的代码,初始化两个 PHP 索引数组如下: <?...动态类型 到目前为止,除了初始化时无需指定数组大小和数据类型,PHP 的索引数组和传统静态语言的数组表现完全一致,接下来,我们就要来点不一样的了,PHP 数组支持任意类型数据,以上篇教程中举的例子「Laravel...另外,PHP 数组底层是哈希表驱动,所以支持无限扩容。 通过以上这两点对比,PHP 索引数组就要比传统静态语言的数组灵活的多,因为摆脱了数据类型和初始大小这两把枷锁。

    8.9K20
    领券