這道題說是用快排,但其實用歸併排序就能過(你信不?)
用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 行...