Merge Sort
来源:互联网 发布:java缓存技术 redis 编辑:程序博客网 时间:2024/05/20 05:25
//MergeSort
//Time Complexity O(n^2)
//Space Complexity O(n)
template< int Length >
void Merge( int SortData[Length], int TargetData[Length], int p, int q, int r )
{
int i = p;
int j = q+1;
int t = p;
while( i<=q && j <=r )
{
if( SortData[ i] < SortData[j] )
{
TargetData[t] = SortData[i];
++t;
++i;
}
else
{
TargetData[t] = SortData[j];
++t;
++j;
}
}
while( i<=q )
{
TargetData[t] = SortData[i];
++t; ++i;
}
while( j<=r )
{
TargetData[t] = SortData[j];
++t; ++j
}
}
template< int Length >
void MergeSort( int SortData[Length], int TargetData[Length], int p, int r )
{
if( r > p )
{
int q= ( r + p )/2;
MergeSort( SortData, TargetData, p, q);
MergeSort( SortData, TargetData, q+1, r );
Merge( SortData, TargetData, p, q, r );
}
}
void main( const char* arg )
{
int SortData[] = {0, 389, -1, 489, 3};
int TargetData[sizeof(SortData)/sizeof( int )] = {0};
MergeSort( SortData, TargetData, 0, sizeof(SortData)/sizeof(int) );
}
- Merge Sort
- Merge sort
- merge sort
- merge sort
- merge sort
- Merge Sort
- merge sort
- Merge Sort
- Merge Sort
- merge sort
- Merge Sort
- Merge sort
- Merge-sort
- Merge Sort
- Merge sort
- Merge Sort
- Merge-Sort
- merge sort
- Struts2配置文件
- 关于π值的计算问题
- XML树结构
- Android_gps
- 个人曾经觉得挺好的开发案例
- Merge Sort
- wordpress中不使用插件添加文章浏览数及评论数的方法。
- VST SDK 3.x 开发(一):VST结构介绍
- Actor生命周期理解
- spring mvc 一个controlller对应多个请求 其中包含 不同请求对应不同目录下的不同视图
- 在Java中,获得ResultSet的总行数的方法
- HDU1232畅通工程
- centos6.5部署openldap信息存储主机快速登录
- Can't locate Switch.pm in @INC 的解决办法