#include<stdlib.h>
#include<stdio.h>
void Merge( int source[] , int temp[] , int start , int mid , int end )
{
int i = start , j = mid + , k = start ;
while ( i != mid + && j != end + )
{
if( source[i] > source[j] )
temp[k++] = source[i++];
else
temp[k++] = source[j++];
}
while( i != mid + )
temp[k++] = source[i++];
while( j != end + )
temp[k++] = source[j++];
for( i = start ; i <= end ; i++ )
source[i] = temp[i];
} //ÄÚ²¿Ê¹Óõݹé
void MergeSort( int source[] , int temp[] , int start , int end )
{
int mid;
if( start < end )
{
mid = ( start + end ) / ;
MergeSort( source , temp , start , mid );
MergeSort( source , temp , mid+ , end );
Merge( source , temp , start , mid , end );
}
}
int main()
{
int a[]={,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,};
int i,b[];
MergeSort( a , b , , sizeof(a)/sizeof(a[])- );
for( i = ; i < sizeof(a)/sizeof(a[]) ; i++ )
printf( "%d\t" , a[i] );
printf("\n");
return ;
}

Merge

下面这种是总的写法:

 #include<stdio.h>
#include<string.h>
void Merge_Sort( int *a , int l , int r )
{
int len = r - l ;
if( len <= ) return;
int mid = l + len/ ;
Merge_Sort( a , l , mid ) ;
Merge_Sort(a , mid, r);
int p1 = l,p2 = mid;
int temp[];
for(int i = l ; i < r ; i++ )
{
if( p1 == mid)
{
temp[i] = a[p2];
p2++;
}
else if( p2 == r)
{
temp[i] = a[p1];
p1++;
}
else
{
if( a[p1] < a[p2] )
{
temp[i] = a[p1];
p1++;
}
else
{
temp[i] = a[p2];
p2++;
}
}
}
for(int i = l ; i < r ; i++ )
a[i] = temp[i];
} int main()
{
int n,i;
int a[] ={,,,,,,,}; Merge_Sort( a , , sizeof(a)/sizeof(int) );
for( i = ; i < sizeof(a)/sizeof(int) ; i++ )
printf("%d ",a[i]);
return ;
}

Merge

Merge Sort的更多相关文章

  1. [算法]——归并排序(Merge Sort)

    归并排序(Merge Sort)与快速排序思想类似:将待排序数据分成两部分,继续将两个子部分进行递归的归并排序:然后将已经有序的两个子部分进行合并,最终完成排序.其时间复杂度与快速排序均为O(nlog ...

  2. SQL Tuning 基础概述06 - 表的关联方式:Nested Loops Join,Merge Sort Join & Hash Join

    nested loops join(嵌套循环)   驱动表返回几条结果集,被驱动表访问多少次,有驱动顺序,无须排序,无任何限制. 驱动表限制条件有索引,被驱动表连接条件有索引. hints:use_n ...

  3. 归并排序(Merge Sort)

    归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用.将已有序的子序列合并,得到完全有序的序列:即先使每个子序列有序,再使子序 ...

  4. 归并排序(merge sort)

    M erge sort is based on the divide-and-conquer paradigm. Its worst-case running time has a lower ord ...

  5. Summary: Merge Sort of Array && 求逆序对

    常用算法(后面有inplace版本): package ArrayMergeSort; import java.util.Arrays; public class Solution { public ...

  6. 基础排序算法之并归排序(Merge Sort)

    并归排序是学习分治法 (Merge Sort) 的好例子.而且它相对于选择,插入,冒泡排序来说,算法性能有一定提升.我首先会描述要解决的问题,并给出一个并归排序的例子.之后是算法的思路以及给出伪代码. ...

  7. Divide and Conquer.(Merge Sort) by sixleaves

    algo-C1-Introductionhtml, body {overflow-x: initial !important;}html { font-size: 14px; }body { marg ...

  8. STL 源代码剖析 算法 stl_algo.h -- merge sort

    本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie merge sort ----------------------------------- ...

  9. Sort list by merge sort

    使用归并排序对链表进行排序 O(nlgn) 的时间效率 /** * Definition for singly-linked list. * struct ListNode { * int val; ...

  10. oracle表连接------&gt;排序合并连接(Merge Sort Join)

    排序合并连接 (Sort Merge Join)是一种两个表在做连接时用排序操作(Sort)和合并操作(Merge)来得到连接结果集的连接方法. 对于排序合并连接的优缺点及适用场景例如以下: a,通常 ...

随机推荐

  1. C/C++程序从编译到链接的过程

    编译器是一个神奇的东西,它能够将我们所编写的高级语言源代码翻译成机器可识别的语言(二进制代码),并让程序按照我们的意图按步执行.那么,从编写源文件代码到可执行文件,到底分为几步呢?这个过程可以总结为以 ...

  2. ios上uiwebview的一些实用技巧

    前几个星期接到公司一个项目,要用webview在客户端上播视频,作为一个前端实习生,这种需求真是蛋疼……一不知webview是何方神圣,二不知咋调试…… 下面就是蛋疼的开始:  寻找调试工具:好,非w ...

  3. Bootstrap系列 -- 39. 导航条添加标题

    在Web页面制作中,常常在菜单前面都会有一个标题(文字字号比其它文字稍大一些),其实在Bootstrap框架也为大家做了这方面考虑,其通过“navbar-header”和“navbar-brand”来 ...

  4. dp式子100个……

    1.        资源问题1-----机器分配问题F[I,j]:=max(f[i-1,k]+w[i,j-k]) 2.        资源问题2------01背包问题F[I,j]:=max(f[i- ...

  5. CSS3——3D效果

    1.效果1 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" c ...

  6. Intellij idea安装设置

  7. 软工实践练习——使用git进行代码管理心得

    一.在Github上注册账户.其中创建organization在小组成员的账户上创建,并在其账户上创建了小组的版本库.在创建organization的过程中,参考了助教提供的博客:http://sef ...

  8. Gson解析Json格式数据

    //数据定义:=========================================== class User{ String name; String password; String ...

  9. firefox(ff)下无法显示bootstrap图标问题的解决方案(转)

    原文链接: http://www.th7.cn/web/html-css/201502/82548.shtml 后在网上搜到了解决方案,在此分享以供各位遇到问题的同好参考:在ff的地址栏中输入“abo ...

  10. CVE-2014-0160 Heartbleed Vul Analysis && OpenSSL Cryptographic Software Library Bug

    目录 . Heartbleed漏洞简介 . 漏洞造成的风险和影响 . 漏洞的测试.POC . OpenSSL漏洞源代码分析 . 防御.修复方案 . 从漏洞中得到的攻防思考 1. Heartbleed漏 ...