资源简介
归并排序C语言实现,这里提供给大家分享,很好用!
代码片段和文件信息
//归并排序
//杨鑫
#include
#include
#define MAXN 1000
int N i;
int a[MAXN];
void merge(int a[] int p int q int r)
{
int i j k n1 n2;
int *front *back;
n1 = q - p + 1; //前一部分的长度
n2 = r-q; //后一部分的长度
front = (int *) malloc (n1 * sizeof(int));
back = (int *) malloc (n2 * sizeof(int));
for(i = 0; i < n1; i++)
front[i] = a[p + i];
for(i = 0; i < n2; i++)
back[i] = a[q + 1 + i];
//合并元素
i = 0 j = 0 k= p;
while(i < n1 && j < n2)
{
if(front[i] < back[j])
{
a[k++] = front[i++];
}
else
{
a[k++] = back
- 上一篇:计算机图形学三维变换
- 下一篇:AES-CBC-128 C语言加解密
评论
共有 条评论