演算法筆記 選擇排序和插入排序

2021-10-22 14:29:07 字數 603 閱讀 5529

首先找到最小的元素,讓它和陣列的第乙個元素交換位置,然後在剩下的元素中找到最小的和陣列的第二個元素交換位置,如此往復,直到將整個陣列排好序。

這裡規定陣列的長度為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 氣泡排序只會操作...