八大排序算法
八大排序算法-插入排序
算法思想
假定前n-1個數(shù)已經(jīng)排好序,將第n個數(shù)插入到有序數(shù)列中的時候 ,使得這n個數(shù)也是排好序的。循環(huán)往復(fù) ,直到全部排好序。
算法實現(xiàn)
- PHP實現(xiàn)
0; $j --) { if($arr[$j] < $arr[$j - 1]) { $tmp = $arr[$j - 1]; $arr[$j - 1] = $arr[$j]; $arr[$j] = $tmp; } else { break; } } } return $arr;}$arr = [13,1, 7,11, 5, 3, 9];$res = insert($arr);print_r($res); - Java實現(xiàn)
public static int[] insert(int[] arr) { int tmp; for (int i = 0; i < arr.length - 1; i ++) { for (int j = i + 1; j >0; j --) { if(arr[j] < arr[j - 1]) { tmp = arr[j - 1]; arr[j - 1] = arr[j]; arr[j] = tmp; } else { break; } } } return arr; }public static void main(String[] args) { int [] arr = { 13,1, 7,11, 5, 3, 9}; insert(arr); System.out.println(Arrays.toString(arr)); }- Python實現(xiàn)
def insert(lists): n = len(lists) for i in range(n - 1): j = i + 1 while j >0: if arr[j] < arr[j - 1]: arr[j], arr[j - 1] = arr[j - 1], arr[j] else: break j = j - 1 return listsif __name__ == '__main__': arr = [13, 1, 7, 11, 5, 3, 9] insert(arr) for i in range(len(arr)): print("%d" % arr[i])- Go實現(xiàn)
func insert(arr []int) []int { for i := 0; i < len(arr) - 1; i ++ { for j := i + 1; j >0; j -- { if arr[j] < arr[j - 1] { arr[j], arr[j - 1] = arr[j - 1], arr[j] } else { break } } } return arr}func main() { arr := []int{ 13,1, 7,11, 5, 3, 9} res := insert(arr) fmt.Println(res)}展開閱讀全文投稿時間 :2022-05-13 最后更新:2022-08-23
.gif)
標簽:氣流干燥設(shè)備