《2023年归并排序算法c语言实现归并排序c语言算法详解精选.docx》由会员分享,可在线阅读,更多相关《2023年归并排序算法c语言实现归并排序c语言算法详解精选.docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2023年归并排序算法c语言实现归并排序c语言算法详解精选 每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培育人的视察、联想、想象、思维和记忆的重要手段。写范文的时候须要留意什么呢?有哪些格式须要留意呢?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们就来了解一下吧。 归并排序算法c语言实现 归并排序c语言算法详解篇一 归并排序算法是采纳分治法的一个特别典型的应用。下面我为大家整理了c+归并排序算法实例,希望能帮到大家! 归并排序的思想是将一个数组中的数都分成单个的;对于单独的一个数,它确定是有序的,然后,我们将这些有序的单个数在合并起来,组成一个有序的数列。这就是归并排序
2、的思想。它的时间困难度为o(n*logn)。 代码实现 复制代码 代码如下: #include using namespace std; /将有二个有序数列afirst.mid和amid.last合并。 void mergearray(int a, int first, int mid, int last, int temp) int i = first, j = mid + 1; int m = mid, n = last; int k = 0; while (i <= m j <= n) if (ai <= aj) tempk+ = ai+; else tempk+ =
3、aj+; while (i <= m) tempk+ = ai+; while (j <= n) tempk+ = aj+; for (i = 0; i < k; i+) afirst + i = tempi; void mergesort(int a, int first, int last, int temp) if (first < last) int mid = (first + last) / 2; mergesort(a, first, mid, temp); /左边有序 mergesort(a, mid + 1, last, temp); /右边有序 me
4、rgearray(a, first, mid, last, temp); /再将二个有序数列合并 bool mergesort(int a, int n) int *p = new intn; if (p = null) return false; mergesort(a, 0, n - 1, p); p; return true; int main() int arr = 2, 1, 4; mergesort(arr, 3); for (int i = 0; i < 3; +i) cout<<arri<< ; cout<<endl; s(content_relate);