插入排序和選擇排序

2021-09-08 17:28:49 字數 839 閱讀 2153

插入排序:

插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的、個數加一的有序資料。

⒈ 從第乙個元素開始,該元素可以認為已經被排序

⒉ 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄

⒊ 如果該元素(已排序)大於新元素,將該元素移到下一位置

⒋ 重複步驟3,直到找到已排序的元素小於或者等於新元素的位置

⒌ 將新元素插入到下一位置中

⒍ 重複步驟2

function insert_sort($arr

) else}}

return

$arr

;}

選擇排序

選擇排序法的思路就是在第一次迴圈中,假設第乙個數是最小的;然後跟第二個數比較,一直比到最後,找出最小值,然後把最小值跟第乙個數的位置互換;再進行下一次迴圈,找出最小值跟第二個位置的數互換;一直迴圈陣列的個數減去1次;陣列就成了有序的了;

<?php 

$arr=array(3,1,7,-1); //

示例陣列

//因為跟第乙個數比較,外層迴圈就少一次,$i還是從0開始是為了寫時方便,不影響取值

for ($i=0;$i

}//交換第乙個值和找到的最小值

$temp=$arr[$i

];

$arr[$i]=$arr[$mindex

];

$arr[$mindex]=$temp;}

print_r($arr); //

[-1, 1, 3, 7]

選擇排序和插入排序

選擇排序 時間複雜度 o n 2 額外空間複雜度o 1 選擇排序是從陣列的第乙個值即arr 0 開始,先假定當前值為最小值,記下index值,向後遍歷陣列,當 arr i 小於arr index 時,令index i 一直到arr length 1 獲得最小值的index然後與arr 0 交換,此時...

插入排序和選擇排序

排序 將一組雜亂無章的資料按照一定的規則有組織地排列起來。排序的穩定性 如果在排序中,存在前後相同的兩個元素的話,排序前和排序後他們的相對位置不發生變化。今天,先來學習插入排序和選擇排序 插入排序 直接插入排序 1 思想 每一步將乙個待排序的元其排序碼的大小,插入到前面已將排好序的一組元素的合適位置...

選擇排序和插入排序

public class caogao 將 temp 插入到空白位置 array j 1 temp public static void main string args insertsort i for int j i selectsort i for int j i 總體思想 都分為有序區和無序...