插入排序_Python與PHP的實現版(推薦),_pythonphp

來源:互聯網
上載者:User

插入排序_Python與PHP的實現版(推薦),_pythonphp

插入排序Python實現

import randoma=[random.randint(1,999) for x in range(0,36)]# 直接插入排序演算法def insertionSort(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]:        a[j+1] = a[j]        j = j-1      # 將a[i]放到新位置      a[j+1] = tmpinsertionSort(a)print(a)

插入排序PHP實現

<?php// 產生待排序數組$a = [];for($i=0;$i<36;$i++){  array_push($a,mt_rand(1,999));}shuffle($a);/** * 插入排序 insertion sort * @param [type] $a 待排序數組的引用 * @return null */function insertionSort(&$a){  for($i = 1;$i<count($a);$i++){    // 若下標為i的元素小於下標為i-1的元素,則將下標為i的元素放到合適位置    if($a[$i] < $a[$i-1]){      $tmp = $a[$i];      // 尋找a[i]的合適位置,並將a[i-1]至a[i]新位置的元素依次後移      for($j = $i-1; $j>=0 && $tmp<$a[$j];$j--)        $a[$j+1] = $a[$j];      // 將a[i]放到新位置      $a[$j+1] = $tmp;    }  }}insertionSort($a);var_dump($a);

插入排序時間複雜度分析

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

以上這篇插入排序_Python與PHP的實現版(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援幫客之家。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.