快速排序演算法的實驗

2021-08-07 16:05:03 字數 609 閱讀 8685

快速排序演算法

原理 從數列中挑出乙個元素,稱為 「基準」(pivot),重新排序數列,所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的後面(相同的數可以到任一邊)。在這個分割槽退出之後,該基準就處於數列的中間位置。這個稱為分割槽(partition)操作。遞迴地(recursive)把小於基準值元素的子數列和大於基準值元素的子數列排序。

**

<?php

function

quick_sort

($arr)

else

}$left = quick_sort($left);

$right = quick_sort($right);

$final = array_merge($left, array($arr[0]), $right);

return

$final;

}$brr = array(2,32,42342,212,0.1,-0.2,321,-889);

echo quick_sort($brr);

3.效果

出現了記憶體不足的通知,我又更改了php配置檔案,還是不行。。。原理的話,是沒有問題。

演算法實驗一 遞迴分治 快速排序

時限 1000ms 記憶體限制 10000k 總時限 3000ms 描述給定乙個數列,用快速排序演算法把它排成公升序。輸入第一行是乙個整數n n不大於10000 表示要排序的數的個數 下面一行是用空格隔開的n個整數。輸出輸出排序後的數列,每個數字佔一行。輸入樣例 53 2 1 4 5 輸出樣例12 ...

演算法實驗一 (遞迴分治) 快速排序

時限 1000ms 記憶體限制 10000k 總時限 3000ms 描述給定乙個數列,用快速排序演算法把它排成公升序。輸入第一行是乙個整數n n不大於10000 表示要排序的數的個數 下面一行是用空格隔開的n個整數。輸出輸出排序後的數列,每個數字佔一行。輸入樣例 53 2 1 4 5 輸出樣例12 ...

排序演算法 快速排序演算法

網際網路的大型公司還在火熱招聘中,參與了一次又一次的筆試,都不通過,我還是太菜!作為程式設計人員,需要邁過去 資料結構與演算法 這個坎,畢竟,筆試不會真的很虧,加油吧,少些水,多點實操。一 快速排序演算法思想 從一組資料中找出乙個基準值,一般是選擇中間值作為基準值,然後從左到右將值與基準值進行比較,...