易截截图软件、单文件、免安装、纯绿色、仅160KB

c归并排序 - C/C++ / C语言

void guibing(int a[],int n)
{

}

我已经初始化了一个数组a[30000]且赋值,想对这个数组进行归并排序。
但是具体怎么实现还是不知道。求源码

比如说。先一个一个排序,然后再将排序好的两个两个排序。那么这个排序过程中怎么具体实现。
156342
15 36 24
怎么把15和36合起来组成1356?

归并排序不是把15与36合起来变成1356吧?中间应该有空格隔开表示两个数!
是这样的:
首先比较头 1 5
  3 6
发现1比较小,就把1移到一个临时数组中,
临时 1
5
3 6
再发现3比较小
临时 1 3
5
6
发现5比6小
临时 1 3 5
6
只有一个数组了,就全移动临时数组中
临时 1 3 5 6
再把临时数组中的元素再全部复制回来。

归并代码:C/C++ code:

#include <stdio.h>
#define MAXN 22000

int a[MAXN+1],c[MAXN+1];
long long cnt;
void MergeSort(int l, int r){
int mid, i, j, tmp;
if( r > l+1 ){
mid = (l+r)/2;
MergeSort(l, mid);
MergeSort(mid, r);
tmp = l;
for( i=l, j=mid; i < mid && j < r; ){
if( a[i] > a[j] ){
c[tmp++] = a[j++];
cnt += mid-i;
}
else c[tmp++] = a[i++];
}
if( j < r ) for( ; j < r; ++j ) c[tmp++] = a[j];
else for( ; i < mid; ++i ) c[tmp++] = a[i];
for ( i


相关问答:

用C或C++如何编写求解3D魔方程序 - C/C++ / C++ 语言

请问用C或C++如何编写求解3D魔方的程序,该从何开始?
谢谢各位,帮忙提点建议吧。

http://www.mofang.net/code/176/182/6581.html

我只能突破60秒!唉。

我刚过40秒

google的android中有个OpenGL ES + ......

linux环境下gethostbyname函数问题 - C/C++ / C语言

写了个测试程序如下
   
  struct hostent *hp; 
char AlarmDevIP[20];  
  int x2;

hp = gethostbyname("www.google.com");
if (hp)
{ ......

C 程序问题(四) - C/C++ / C语言

#include "stdio.h"
int main()
{
  char *ch(char *, char *);
  char str1[]="I am glad to meet you!";
  char str2[]="Welcom to study C!";
&nb ......

刚学C,用C实现编码 - C/C++ / C语言

#include"stdio.h"
#include"stdlib.h"
void ContrTwo(char i)
{
char str1[8];
itoa(i,str1,2);
printf("%s",str1);
}
unsigned char leftRot(char str,int i);
unsign ......

execl怎么调用java程序 - C/C++ / C语言

如题,C/C++中的execl怎么调用写好的java程序,
execl("/opt/java1.5/bin/java","MyClass",NULL);
这样的不行哦。

不会.

运行java程序
找工具查看一下那个程序的命令行

搜索下:jni ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号