1. 程式人生 > >算法-選擇、冒泡、插入

算法-選擇、冒泡、插入

元素 一個數 數組長度 數字 裏的 開始 位置 第一個 個數字

一、選擇排序

  原理:比方說有一個數組:3,5,7,9,1;

  從第一個數字開始,後面的數字依次與第一個比較,如果小於第一個,則和第一個交換位置。比如這裏的 1 < 3,則會變成1,5,7,9,3,這樣下來,最小的會被放在第一個的位置上

  然後從第二個數字開始,後面的數字依次與第二個比較,這樣,倒數第二小的數字會被放在第二個位置上

  怎麽寫?解決兩個問題:

  1. 要寫幾個for循環?
  2. 找出每個for循環的邊界

那麽,我們的選擇排序要幾層循環呢???答案是兩層。外層是往第幾個位置上放元素/交換元素,裏層是該位置的後面的每一個元素跟其比較

第一層的邊界i:0~(數組長度-1)

第二層的邊界j:(i+1)~(數組長度-1) 

算法-選擇、冒泡、插入