o(n^2)級別的演算法主要包括:選擇排序,插入排序,冒泡法排序,希爾排序等
選擇排序:選擇排序,將後面未排序陣列中最小的與前面的元素交換
1 template 2void selectionsort(t arr, int
n) 9
10swap(arr[i], arr[minindex]);11}
12 }
插入排序,選擇前面陣列已經排好序的部分合適的插入位置
1 template 2void insertionsort1(t arr, int
n) 9 arr[j] =e;10}
11}12//
對arr[l...r]範圍的陣列進行插入排序
13 template14
void insertionsort(t arr, int l, int
r) 24
25return
;26 }
冒泡法:每次迴圈將最大的放到擠出到後面位置
1 template 2void bubblesort(t arr, int
n) 8}9
}10 }
//希爾排序
templatevoid shellsort(t arr, int
n) h /= 3
; }
}
排序演算法基礎總結
氣泡排序 bubblesort param arr public static void bubblesort int arr for int i arr.length 1 i 0 i 選擇排序 selectionsort 兩個指標,乙個遍歷指標,乙個指向當前的最值 param arr public...
R語言 基礎總結(排序)
r中自帶排序函式有order,sort兩個函式,plyr中有arrange。order和sort是針對向量進行操作的,arrange針對資料框。其中order返還排序後的座標,sort返還排序後的值,arrange返還的是基於某列排序後的資料框,方便多重依據排序。x cbind x1 3,x2 c ...
八大基礎排序總結
大概花了一周的時間把八大基礎排序過了一遍,這篇博文主要是用來回顧一下八大基礎排序的要點和一些總結 回顧 總的來說 快速排序是用得比較廣泛的乙個排序,也是經常出現的乙個排序,應該重點掌握 思路 實現要點 優化 如果一趟排序後也沒有交換位置,那麼該陣列已有序 外層迴圈是排序的趟數 for int i 0...