PHP快速排序法

2021-07-25 21:57:25 字數 794 閱讀 8867

<?php

/** * created by phpstorm.

* user: ziniu

* date: 2016/9/20

* time: 16:04

*/// 快速排序

$parameter = array(6,1,2,7,9,3,4,5,10,8);

$left = 0;

$right = (count($parameter)-1);

quick($left,$right);

var_dump($parameter);

function

quick

($left,$right)

$base = $parameter[$left];// tmp 作為中間基準數

$i = $left;

$j = $right;

while($i != $j)

// 再從左向右找

while($parameter[$i]<= $base && $i

< $j)

// 交換兩個數在陣列中的位置

if($i

< $j)

}// 最終將基準數歸位

$parameter[$left] = $parameter[$i];

$parameter[$i] = $base;

quick($left,$i-1);// 繼續處理左邊,這裡是乙個遞迴的過程

quick($i+1,$right);//繼續處理右邊,這裡是乙個遞迴的過程

}

快速排序法

一 快速排序演算法的基本特性 時間複雜度 o n lgn 最壞 o n 2 空間複雜度 o n lgn 不穩定。快速排序是一種排序演算法,對包含n個數的輸入陣列,平均時間為o nlgn 最壞情況是o n 2 通常是用於排序的最佳選擇。因為,基於比較的排序,最快也只能達到o nlgn c void q...

快速排序法

include stdafx.h include vos.h define table mid machine name midmachine define table midmach colname id id define table midmach colname ip ip define t...

快速排序法

快速排序法思想 在待排序的n個資料中取第乙個數字為基準數,陣列最前面放乙個標桿,陣列最後麵放乙個標桿,通過基準數和標桿 i,j 出的數進行比較,實現每次排序完時候,共三組數,不大於基準數 基準數 不小於基準數 舉例說明 5 i 4,6,8,3,9,2 j 基準數5 標桿 i 指向5位置,標桿 j 指...