PHP 演算法01之選擇排序

2021-09-13 12:52:50 字數 691 閱讀 5828

選擇最小的元素由左到右依次交換順序即完成元素由小到大的排序。選擇排序重點在於選擇最小元素。以下是較為詳細的描述:

首先,把所有的資料迴圈一遍找到最小的數,然後和第乙個數交換位置。

然後從第二個數起,一直迴圈到最後乙個,找到最小的數和第二個交換。

如此一直找到最後乙個。

選擇排序每次迴圈都能排好乙個元素,因此需要交換的次數等於元素個數。選擇排序是最容易理解的排序方式,通俗的理解方式就是:在9個碗裡放了9個蘋果,逐個看一眼找出最小的蘋果和第乙個碗裡的交換一下,然後不再看第乙個碗,從第二個碗起,再玩一次,直到所有的碗都玩過。

function selectionsort($needsortdata)

}//以下三行是把找到的最小值和正在外層遍歷的當前元素交換

$temp = $needsortdata[$i];

$needsortdata[$i] = $needsortdata[$min];

$needsortdata[$min] = $temp;

}return $needsortdata;

}$unsorteddata = [9, 1, 3, 8, 2, 6, 5, 7, 4];

$result=selectionsort($unsorteddata);

print_r($result);

PHP排序演算法之選擇排序

二 選擇排序 原理 在一列數字中,選出最小數與第乙個位置的數交換。然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後乙個數比較為止。以下都是公升序排列,即從小到大排列 舉例說明 arr array 6,3,8,2,9,1 第一輪 第一次比較,第乙個數 6 與 3,8,2,...

常見排序演算法01之氣泡排序與選擇排序

1 冒泡法 以8,16,1,5為例。假設從小到大,冒泡法是相鄰兩數比較的,那麼我們8和16比,8小所以不換,然後16與1比,16大要換,即變成了8,1,16,5 然後16和5比,16大要換,變成8,1,5,16。可以看出這是我們第一次相鄰兩兩比較的結果,並不能完全排好序,所以我們需要進行多次比較,多...

php 選擇排序演算法

選擇排序演算法 選出最小的乙個數字與第乙個位置數字交換,之後再剩餘的數當中再次找到最小的數字與第二個位置交換,依此迴圈到倒數第二個數字和最後乙個數字比較結束為止。param array arr return arr function selectsort arr array len count ar...