AcWing演算法基礎1 1

2022-03-04 04:13:30 字數 967 閱讀 5872

排序

快速排序(快排)

寫題的時候用的不多基本都是直接sort ( ),面試可能要手擼快排,上模板

1

void 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

輸入樣例:

531

245

輸出樣例: 

123

45

#include #include 

using

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時要...