ecnu 1841 Sort

Posted taming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ecnu 1841 Sort相关的知识,希望对你有一定的参考价值。

C/C++:

#include<bits/stdc++.h>
using namespace std;

const int maxN=50;

int ls[maxN/2],rs[maxN/2];

void mergesort(int arr[],int l,int r){
    int m=(l+r)/2;
    if(m>l)mergesort(arr,l,m);
    if(m+1<r)mergesort(arr,m+1,r);
    memcpy(ls,arr+l,sizeof(int)*(m-l+1));
    memcpy(rs,arr+m+1,sizeof(int)*(r-m));
    ls[m-l+1]=INT_MAX;
    rs[r-m]=INT_MAX;
    int u(0),v(0);
    for(int i=l;i<=r;i++){
        if(ls[u]<rs[v])arr[i]=ls[u++];
        else arr[i]=rs[v++];
    }
}

int arr[100];

int main(){
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++)scanf("%d",arr+i);
    mergesort(arr,0,n-1);
    for(int i=0;i<n;i++)printf("%d\n",arr[i]);
}

python:

def quicksort(arr,l,r):
    if l>=r:return
    m=l
    for i in range(l,r):
        if arr[i]<arr[r]:
            arr[i],arr[m]=arr[m],arr[i]
            m+=1
    arr[m],arr[r]=arr[r],arr[m]
    if m>l+1:
        quicksort(arr,l,m-1)
    if m<r-1:
        quicksort(arr,m+1,r)

n=int(input())
arr=[]
for i in range(0,n):
    arr.append(int(input()))
quicksort(arr,0,n-1)
for i in arr:
    print(i)

 

以上是关于ecnu 1841 Sort的主要内容,如果未能解决你的问题,请参考以下文章

ECNU620数学题(结论题)

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

代码片段 - Golang 实现集合操作

题解 SP1841 PPATH - Prime Path

在ECNU校园网内搭建反向代理

ecnu 2851 Easy