zoukankan      html  css  js  c++  java
  • 算法分析实验之合并排序

    题目描述

    这是一个很简单的排序题目. 为了锻炼大家对不同算法的了解,请大家用归并排序法对此题进行解答. 对一组整数数列A[1],A[2],A[3]......A[N]进行排序,按照从小到大的顺序输出.

    输入

    本题只有一组测试数据,在输入的第一行输入N(表示整数数列的大小)(N < 1000)
    接下来N行输入N个整数,每一行一个整数.

    输出

    对已经排好序的数从小到大依次输出,每两个数之间用两个空格隔开,且每输出10个数换行.

    样例输入复制

    12
    45
    545
    48
    47
    44
    45
    4857
    58
    57
    485
    1255
    42
    
    

    样例输出复制

    42 44 45 45 47 48 57 58 485 545
    1255 4857

    #include<iostream>
    #include<vector> 
    using namespace std;
    int n;
    void  Merge(int a[],int temp[],int start,int mid,int end)
    {
        
        int i=start,j=mid+1,k=start;
        while(i!=mid+1&&j!=end+1){
            if(a[i]<=a[j])
                temp[k++]=a[i++];
            else
                temp[k++]=a[j++];
    
        }
        
        while(i!=mid+1)
            temp[k++]=a[i++];
    
        while(j!=end+1)
            temp[k++]=a[j++];
    
            
        for(i=start; i<=end; i++)
            a[i] = temp[i];
    
    }
    void Mergesort(int a[],int temp[],int start,int end)
    {
        int mid;
        if(start<end)
        {
            mid=start+(end-start)/2;
            Mergesort(a,temp,start,mid);
            Mergesort(a,temp,mid+1,end);
            Merge(a,temp,start,mid,end);
        }
    }
    
    int main(){
        cin>>n;
        int a[n];
        for(int i=0;i<n;i++)
        cin>>a[i];
        
        int b[n];
        Mergesort(a,b,0,n-1);
        
        for(int i=0;i<n;i++){
            if((i+1)%10==0) cout<<a[i]<<endl;
            else{
                if(i==n-1) cout<<a[i]<<endl;
                else cout<<a[i]<<"  ";
            }
        }
        return 0;
    }
  • 相关阅读:
    使用jekyll和Github搭建个人博客
    numpy的ndarray和matrix的运算
    Beta分布
    卡方分布
    二项式分布
    正态分布
    概率质量函数(PMF)、概率密度函数(PDF)和累积概率密度函数(CDF)
    Jetson AGX Xavier/Ubuntu测试SSD的读写速度
    Jetson AGX Xavier/Ubuntu安装SSD
    datatable 参数详解
  • 原文地址:https://www.cnblogs.com/solititude/p/13019795.html
Copyright © 2011-2022 走看看