首先找到最小的元素,讓它和陣列的第乙個元素交換位置,然後在剩下的元素中找到最小的和陣列的第二個元素交換位置,如此往復,直到將整個陣列排好序。
這裡規定陣列的長度為n
public
static
void
sort
(int
a)//交換a[i]和a[min]
int t =a[i]
; a[i]
=a[min]
; a[min]
=t;}
}
拿出乙個數,與有序數列比較,插入到適當位置,插入時將其餘元素在插入之前都向右移動一位,給插入元素騰出位置。對於乙個待排序的數列,我們從第二個元素開始作為索引,預設將第乙個元素作為有序序列,索引元素左邊的序列始終為有序序列,然後將索引元素插入到左邊有序列的合適位置,直到索引達到陣列最右端,排序結束。
這裡規定陣列長度為n,需要得到公升序排列的陣列
public
static
void
sort
(int
a)}}
排序演算法 插入排序和選擇排序
二者演算法分析 穩定性 時間複雜度 希爾排序 希爾排序是直接插入排序的優化,但當待排序數列很大時,預排序過程效率會降低許多,時間複雜度為o n2n2 空間複雜度 空間複雜度都為o 1 在進行排序時,會建立臨時常數個臨時變數用於控制下標 直接插入排序 void insertsort datatype ...
演算法筆記 氣泡排序,選擇排序,插入排序
若乙個陣列儲存n個元素,則要進行n 1趟排序,且每進行一次排序,最大 小 的數都會出現在右邊。include using namespace std intmain for int i 1 i 4 i n 1次排序 for int j 0 j 5 i j if a j a j 1 for int i...
演算法筆記 氣泡排序 插入排序 選擇排序
氣泡排序 插入排序 選擇排序 歸併排序 快速排序 計數排序 基數排序 桶排序。對於排序演算法執行效率的分析,我們一般會從這幾個方面來衡量 1.最好情況 最壞情況 平均情況時間複雜度 2.時間複雜度的係數 常數 低階 3.比較次數和交換 或移動 次數 氣泡排序 bubble sort 氣泡排序只會操作...