#include<iostream>
#include<stdio.h>
#include<algorithm> #define N 10000
using namespace std; void Merge(int *b,int *a,int i,int m,int n)
{
int s = i;
int j,k;
//归并
for(j=m+,k=i;i<=m&&j<=n;k++)
{
if(b[i]<b[j]) a[k]=b[i++];
else a[k]=b[j++];
}
while(i<=m)
a[k++]=b[i++];
while(j<=n)
a[k++]=b[j++]; for(j=s;j<=n;j++) //将归并结果再次存入b数组
b[j]=a[j];
} void MergeSort(int * b,int *a,int s,int t)
{
if(s==t) b[s]=a[s]; //初始化b数组
else
{
int mid = (s+t)>>;
MergeSort(b,a,s,mid);
MergeSort(b,a,mid+,t);
Merge(b,a,s,mid,t); //将b数组[s,mid]与[mid+1,t]归并到a中的[s,t]中
}
} int a[N],b[N]; int main()
{
int n,i;
scanf("%d",&n);
for(i=;i<=n;i++)
{
scanf("%d",a+i);
}
MergeSort(b,a,,n);
for(i=;i<=n;i++)
{
printf("%d ",a[i]);
}
putchar();
return ;
}

手写归并排序(MergeSort)的更多相关文章

  1. c++后台开发面试常见知识点总结(六)算法手写

    链表倒转  leetcode-206 连续子数组最大和问题(和最大的连续子序列的和)   leetcode-53 输出字符串中最长的回文子串长度?  leetcode-5 一个字符串,求最长无重复子串 ...

  2. 【Win 10 应用开发】手写识别

    记得前面(忘了是哪天写的,反正是前些天,请用力点击这里观看)老周讲了一个14393新增的控件,可以很轻松地结合InkCanvas来完成涂鸦.其实,InkCanvas除了涂鸦外,另一个大用途是墨迹识别, ...

  3. JS / Egret 单笔手写识别、手势识别

    UnistrokeRecognizer 单笔手写识别.手势识别 UnistrokeRecognizer : https://github.com/RichLiu1023/UnistrokeRecogn ...

  4. 如何用卷积神经网络CNN识别手写数字集?

    前几天用CNN识别手写数字集,后来看到kaggle上有一个比赛是识别手写数字集的,已经进行了一年多了,目前有1179个有效提交,最高的是100%,我做了一下,用keras做的,一开始用最简单的MLP, ...

  5. 【转】机器学习教程 十四-利用tensorflow做手写数字识别

    模式识别领域应用机器学习的场景非常多,手写识别就是其中一种,最简单的数字识别是一个多类分类问题,我们借这个多类分类问题来介绍一下google最新开源的tensorflow框架,后面深度学习的内容都会基 ...

  6. caffe_手写数字识别Lenet模型理解

    这两天看了Lenet的模型理解,很简单的手写数字CNN网络,90年代美国用它来识别钞票,准确率还是很高的,所以它也是一个很经典的模型.而且学习这个模型也有助于我们理解更大的网络比如Imagenet等等 ...

  7. 使用神经网络来识别手写数字【译】(三)- 用Python代码实现

    实现我们分类数字的网络 好,让我们使用随机梯度下降和 MNIST训练数据来写一个程序来学习怎样识别手写数字. 我们用Python (2.7) 来实现.只有 74 行代码!我们需要的第一个东西是 MNI ...

  8. 手写原生ajax

    关于手写原生ajax重要不重要,各位道友自己揣摩吧, 本着学习才能进步,分享大家共同受益,自己也在自己博客里写一下 function createXMLHTTPRequest() { //1.创建XM ...

  9. springmvc 动态代理 JDK实现与模拟JDK纯手写实现。

    首先明白 动态代理和静态代理的区别: 静态代理:①持有被代理类的引用  ② 代理类一开始就被加载到内存中了(非常重要) 动态代理:JDK中的动态代理中的代理类是动态生成的.并且生成的动态代理类为$Pr ...

随机推荐

  1. 多tab页框架的使用场合

    多tab页框架适合应用于功能较少的场合,例如邮箱后台之类的. 对于一些业务功能多且复杂的场合就不适用.打开过多的tab页容易给用户造成混乱,页面的跳转也存在一定的难度. 一种新技术不能完全取代旧技术, ...

  2. HTML5 图片上传预览

    <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8& ...

  3. html accesskey (단축키 지정)

    accesskey 속성은 마우스 등을 쓰지 않는 환경을 위해 링크나 입력 폼에서 키보드의 키 입력만으로 동작을 실행할 수 있도록 accesskey 속성값에 access 할 영어 또 ...

  4. Jersey(1.19.1) - Root Resource Classes

    Root resource classes are POJOs (Plain Old Java Objects) that are annotated with @Path have at least ...

  5. HttpClient(4.3.5) - HTTP Execution Context

    Originally HTTP has been designed as a stateless, response-request oriented protocol. However, real ...

  6. ViewPager的基本使用--可左右循环切换也可自动切换

    ViewPager也算是Android自带的常用控件之一,但是有可能会无法直接调用,所以只需要将工程目录里/libs/android-support-v4.jar该jarAdd to Build Pa ...

  7. IOS 解析JSON

    - (void)viewDidLoad{    [super viewDidLoad];    // Do any additional setup after loading the view, t ...

  8. mybatis like 查询

    SELECT * FROM user WHERE name like CONCAT('%',#{name},'%')

  9. private继承

    private继承并不如public继承一样具有is-a的关系. ------------------------------------------------------------------- ...

  10. 在Mac OS X中使用VIM开发STM32(4)

    本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重!       在上三篇文章中,我们基本搭建好了开发STM32的IDE环境,当然vim.ctags.tagl ...