zoukankan      html  css  js  c++  java
  • 归并排序

    1002.归并排序

    时限:1000ms 内存限制:10000K  总时限:3000ms

    描述
    给定一个数列,用归并排序算法把它排成升序。
     
    输入
    第一行是一个整数n(n不大于10000),表示要排序的数的个数;
    下面一行是用空格隔开的n个整数。
     
    输出
    输出排序后的数列,每个数字占一行。
     
    输入样例
    5
    3 2 1 4 5
     
    输出样例
    1
    2
    3
    4
    5
    #include <stdio.h>
    #include <stdlib.h>
    
    void guibing(int a[],int l,int r)
    {
         int i = l;
         int mid = (l+r)/2;
         int j = mid+1;
         int k = 0;
         int *temp = (int *)malloc((r-l+1)*sizeof(int));
         while(i<=mid&&j<=r)
         {
              if(a[i]<=a[j])
                   temp[k++]=a[i++];
              else
                   temp[k++]=a[j++];
         }
         while(i<=mid)
              temp[k++] = a[i++];
         while(j<=r)
              temp[k++] = a[j++];
         for(i=0;i<(r-l+1);i++)
              a[l+i] = temp[i];
         free(temp);
    }
    
    void devide(int a[],int i,int j)
    {
         if(i<j)
         {
              int mid = (i+j)/2;
              devide(a,i,mid);
              devide(a,mid+1,j);
              guibing(a,i,j);
         }
    }
    
    int main()
    {
         int i,n,a[10001];
         scanf("%d",&n);
         for(i=0;i<n;i++)
              scanf("%d",&a[i]);
         devide(a,0,n-1);
         for(i=0;i<n;i++)
              printf("%d
    ",a[i]);
         return 0;
    }

    C++实现(STL)

    #include <iostream>
    #include <algorithm>
    #include <stdio.h>
    
    using namespace std;
    
    int main()
    {
        int n,i;
        int a[10001];
        scanf("%d",&n);
        for(i=0;i<n;i++)
        {
             scanf("%d",&a[i]);
        }
        sort(a,a+n);
        for(i=0;i<n;i++)
        {
             printf("%d
    ",a[i]);
        }
        return 0;
    }

    STL里面的sort是快排,快排是目前最快的排序算法之一。

  • 相关阅读:
    iframe的使用小贴士
    jquery M97-datepicker日历控件
    CSS z-index 属性的使用方法和层级树的概念
    常用的js代码
    图片水平垂直居中
    server端和前端的区别
    nodejs模块化标准
    nodejs介绍
    小程序缓存Storage的基本用法
    小程序数据绑定的拓展用法
  • 原文地址:https://www.cnblogs.com/kmxojer/p/9952817.html
Copyright © 2011-2022 走看看