洛谷 模板 快速排序題解 願

2021-10-08 19:03:50 字數 1153 閱讀 9363

這道題說是用快排,但其實用歸併排序就能過(你信不?)

用stl也能過(不用質疑)

首先奉上歸併排序**:

#include

using

namespace std;

int a[

100005

], b[

100005];

void

merge

(int l,

int r)

else

}while

(p1<=mid)

while

(p2<=r)

for(

int i=l;i<=r;i++)}

void

merge_sort

(int l,

int r)

int mid=

(l+r)/2

;merge_sort

(l,mid)

;merge_sort

(mid+

1,r)

;merge

(l,r);}

intmain()

merge_sort(0

,n-1);

for(

int i =

0; i < n; i++

)return0;

}

然後奉上sort**:

#include

#include

using

namespace std;

intmain()

sort

(a,a+n)

;for

(int i=

0;i)return0;

}

最後是stl:

#include

using

namespace std;

intmain()

for(multiset<

int>

::iterator it = pig.

begin()

; it != pig.

end(

); it++

)return0;

}

よろしくお願いします!!!

洛谷 P1177 模板 快速排序

洛谷 p1177 模板 快速排序 1.翻書,該題很容易解決,但不算掌握。2.憑空編寫,邊界點的取值有些問題,等號去還是不取。3.想了乙個辦法,寫出一組資料進行手動模擬,弄明白了,程式再開始根據模擬進行編制。4.很久沒寫快排了,如果能一次性編寫成功,這次可以說快排掌握了。5.開始動手,6.第一次取a ...

洛谷 P1177 模板 快速排序

這道題用傳統快排 如下所示 的結果就是最後三個點tle void swap int a,int b void quicksort int a,int left,int right quicksort a,left,i 1 quicksort a,j 1,right 因為快排對於一些特殊的情況 例如序...

洛谷 P1177 模板 快速排序

利用快速排序演算法將讀入的 n 個數從小到大排序後輸出。快速排序是資訊學競賽的必備演算法之一。對於快速排序不是很了解的同學可以自行上網查詢相關資料,掌握後獨立完成。c 選手請不要試圖使用stl,雖然你可以使用sort一遍過,但是你並沒有掌握快速排序演算法的精髓。第 1 行為乙個正整數 n,第 2 行...