十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章給大家介紹ACwing中怎么實現(xiàn)歸并排序,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

在吳忠等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網(wǎng)站設計制作、成都網(wǎng)站建設 網(wǎng)站設計制作按需定制制作,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,品牌網(wǎng)站建設,網(wǎng)絡營銷推廣,外貿網(wǎng)站制作,吳忠網(wǎng)站建設費用合理。
#include#include #include #include using namespace std; const int N=100010; int n; int a[N],t[N]; //歸并排序————分治的思想:左右兩段分別排序,再歸并。 //時間復雜度O(nlogn) void merge_sort(int a[],int l,int r){ //邊界 if(l>=r) return; //分治 排序 //確定一個分界點 int m=(l+r)>>1; //對左半邊排序 merge_sort(a,l,m); //對右半邊排序 merge_sort(a,m+1,r); //歸并 int i=l,j=m+1; int k=0; while(i<=m&&j<=r){ if(a[i]<=a[j]) t[k++]=a[i++]; else t[k++]=a[j++]; } //剩下的段補上 while(i<=m) t[k++]=a[i++]; while(j<=r) t[k++]=a[j++]; //搞回去 for(int i=l,j=0;i<=r;i++,j++) a[i]=t[j]; } int main(){ cin>>n; for(int i=0;i >a[i]; merge_sort(a,0,n-1); for(int i=0;i 關于ACwing中怎么實現(xiàn)歸并排序就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網(wǎng)站題目:ACwing中怎么實現(xiàn)歸并排序
文章網(wǎng)址:http://m.jiaotiyi.com/article/gejcig.html