插入排序 Python與PHP實現版

2022-05-08 06:57:09 字數 813 閱讀 8893

import

random

a=[random.randint(1,999) for x in range(0,36)]

#直接插入排序演算法

definsertionsort(a):

for i in range(1,len(a)):

#若下標為i的元素小於下標為i-1的元素,則將下標為i的元素放到合適位置

if a[i] < a[i-1]:

tmp =a[i]

j = i-1

#尋找a[i]的合適位置,並將a[i-1]至a[i]新位置的元素依次後移

while j >= 0 and tmp a[j+1] =a[j]

j = j-1

#將a[i]放到新位置

a[j+1] =tmp

insertionsort(a)

print(a)

<?php

//生成待排序陣列

$a =;

for($i=0;$i

<36;$i++)

shuffle($a

);/*

* * 插入排序 insertion sort

* @param [type] $a 待排序陣列的引用

* @return null */

function insertionsort(&$a

) }

}insertionsort(

$a);

var_dump($a);

插入排序演算法的時間複雜度為o(n2),但是插入排序法比冒泡和選擇排序的效能更好。

插入排序 insertion sort 演算法實現

插入排序演算法的原理很簡單,首先將陣列的第乙個數data 0 看成是有序的,然後從第二個元素開始和它前面的元素進行比較,如果從前面的某乙個數大,就交換。由於前面的元素是有序的,所以就使有序元素的個數逐漸增大,直到等於n。插入排序的時間複雜度為 o n 2 演算法的c實現如下 include stdi...

插入排序 insertion sort 演算法實現

插入排序演算法的原理很簡單,首先將陣列的第乙個數data 0 看成是有序的,然後從第二個元素開始和它前面的元素進行比較,如果從前面的某乙個數大,就交換。由於前面的元素是有序的,所以就使有序元素的個數逐漸增大,直到等於n。插入排序的時間複雜度為 o n 2 演算法的c實現如下 include stdi...

插入排序 insertion sort 演算法實現

插入排序演算法的原理很簡單,首先將陣列的第乙個數data 0 看成是有序的,然後從第二個元素開始和它前面的元素進行比較,如果從前面的某乙個數大,就交換。由於前面的元素是有序的,所以就使有序元素的個數逐漸增大,直到等於n。插入排序的時間複雜度為 o n 2 演算法的c實現如下 include stdi...