排序
快速排序(快排)
寫題的時候用的不多基本都是直接sort ( ),面試可能要手擼快排,上模板
1void quick_sort(int q, int l, intr)2
12 quick_sort(q, l, j), quick_sort(q, j + 1
, r);
13 }
模板題
給定你乙個長度為n的整數數列。
請你使用快速排序對這個數列按照從小到大進行排序。
並將排好序的數列按順序輸出。
輸入格式
輸入共兩行,第一行包含整數 n。
第二行包含 n 個整數(所有整數均在1~10
9'>109
109範圍內),表示整個數列。
輸出格式
輸出共一行,包含 n 個整數,表示排好序的數列。
資料範圍1≤
n≤100000
'>1≤n≤100000
1≤n≤100000
輸入樣例:
531245
輸出樣例:
12345
#include #includeusing
namespace
std;
void quick_sort(int p, int l, int
r);const
int mx = 1e5 + 10
;int
n, a[mx];
intmain()
void quick_sort(int p, int l, int
r) quick_sort(p, l, j), quick_sort(p, j + 1
, r);
}
AcWing演算法基礎1 5
字首和與差分 兩個內容都比較少,就放一起寫了 設陣列 a 的前 n 項為a1 a2 a3 an 字首和陣列就是每一項是a陣列的前i項和,比如字首和陣列res,res 1 a 1 res 2 a 1 a 2 res n a 1 a 2 a n 字首和可以在o 1 的時間內計算一段區間內的累加和,比如區...
AcWing演算法基礎1 4
高精度 高精度加法,高精度減法,高精度乘低精度,高精度除以低精度,大概平時用的最多的就是這四個,模板有兩種 因為我現在不太會用vector,就用陣列也寫了個,23333 高精度運算和人工手算差不多,就是模擬人工手算的過程,乘法有點不一樣,在下面有提到,大致也是模擬運算 廢話不多說,上模板 高精度加法...
AcWing演算法基礎1 3
二分 二分分為整數二分和實數二分,其中整數二分模板有兩個 模板 整數二分模板 第一種模板將區間分為 l mid 和 mid 1,r 1 int bsearch 1 int l,intr 2 9return l 10 第二種模板把區間分為 l mid 1 和 mid r 需要注意的是,這裡算mid時要...