日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

排序算法大集锦_合并排序_1(分治思想)

發布時間:2025/3/21 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 排序算法大集锦_合并排序_1(分治思想) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這一系列博客的特點就是——給出每趟排序的結果


本來想著好好寫一下過程,弄個圖片什么的,不過覺得網上的解析太多了,都比較好,所以這些博客就算是對自己的總結吧。


#include?<stdio.h> #include?<limits.h> #include?<malloc.h>int?a[10]={2,8,5,7,4,3,1,9,6,10};void?merge(int?*m,?int?x,?int?y,?int?z) {int?b1,b2,i,j,k;b1=y-x+1;b2=z-y;int?*tm1=(int*)malloc(sizeof(int)*(b1+1));int?*tm2=(int*)malloc(sizeof(int)*(b2+1));for(i=0;i<b1;i++)tm1[i]=m[i+x];for(j=0;j<b2;j++)tm2[j]=m[j+y+1];tm1[i]=tm2[j]=INT_MAX;for(k=x,i=0,j=0;k<=z;k++){if?(tm1[i]<tm2[j]){m[k]=tm1[i];i++;}?else{m[k]=tm2[j];j++;}}free(tm1);free(tm2); }void?MergeSort(int?*m,int?n1,?int?n2) {if(n1<n2){int?n=(n1+n2)/2;MergeSort(m,n1,n);MergeSort(m,n+1,n2);merge(m,n1,n,n2); for(int?t=0;t<10;t++)printf("%d?",m[t]);printf("\n");} }int?main() {int?i;for(i=0;i<10;i++)printf("%d?",a[i]);printf("\n排序后\n");MergeSort(a,0,9);printf("\n最終結果\n");for(i=0;i<10;i++)printf("%d?",a[i]);printf("\n");return?0; }


運行結果

轉載于:https://blog.51cto.com/anglecode/1640427

總結

以上是生活随笔為你收集整理的排序算法大集锦_合并排序_1(分治思想)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。