文章标题

原创 2015年11月21日 15:50:28

归并排序

#include<stdio.h>
#include<stdlib.h>
\\将两个有序数组合并
int m1(int a[],int f,int e,int m)
{
    int *t=(int*)malloc((e-f+1)*sizeof(int));
    int k=0,i,j;
    i=f;
    j=m+1;
    while(i<=m&&j<=e)
    {
        if(a[i]<=a[j])
            t[k++]=a[i++];
        else
            t[k++]=a[j++];
    }
    while(i<=m)
        t[k++]=a[i++];
    while(j<=e)
        t[k++]=a[j++];
    for(i=0;i<k;i++)
            a[f+i]=t[i];
        free(t);
}
int m2(int a[],int f,int e)
{
    int m;
    m=(e+f)/2;
    if(f<e)
    {
        m2(a,f,m);\\作排序
        m2(a,m+1,e);\\右排序
        m1(a,f,e,m);\\递归合并
    }
}
\\排序10个输入的数组
int main()
{
    int a[10],i;
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);
    m2(a,0,9);
    for(i=0;i<10;i++)
        printf("%d ",a[i]);
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

文章标题

AsyncTask连续启动多次时出现的bug

文章标题自动标注程序

  • 2015-06-25 17:04
  • 6.93MB
  • 下载

文章标题

测试编辑器的效果这里写链接内容

文章标题

题目如下:建议使用QMutex QThread 3、生产者消费者:有一个生产者对象,还有一个消费者对象生产者用来向篮子对象中放苹果,每次1个。消费者从篮子中取走吃掉1个苹果,生产苹果时不能吃...

文章标题

android 的进程基本知识当应用程序第一次启动的时候,Android会启动一个Linux 进程和一个主线程,默认情况下,所有组件都会在该进程和线程中运行,Android会为每一个应用程序分配一个单...

Cmake编译安装MySQL完整版

cmake编译安装MySQL

文章标题

## 类的常识 ## struct和class唯一的不同为在struct中未被标明为public,protected,private的默认为public,而class中默认为private,其余完全相...

文章标题

// // ViewController.m // UI-NO-26-多线程-GCD // // Created by 杨政涛 on 15/8/28. // Copyright (c...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)