问题标题: 酷町堂:1761

0
0
已解决
王霁月
王霁月
新手守护
新手守护
#include<bits/stdc++.h> 
using namespace std;
int main()
{
	int a[100001],n;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
	}
	for(int i=0;i<n-1;i++)
	{
	    for(int j=i+1;j<n;j++)
	    {
	       if(a[i]>a[j])
	            swap(a[i],a[j]);
	    }
	}
	for(int i=0;i<n;i++)
	cout<<a[i]<<" ";
	return 0;
}

 

王霁月在2019-04-25 19:55:54追加了内容

为什么错了?80分

王霁月在2019-04-30 17:10:35追加了内容

我这个不是快排吗?

 


0
0
0
朱智霖
朱智霖
新手守护
新手守护

i:=l; j:=r; m:=a[(l+r)div 2];
    repeat
        while a[i]<m do inc(i);
        while a[j]>m do dec(j);
        if i<=j then
        begin
            t:=a[i]; a[i]:=a[j]; a[j]:=t;
            inc(i);
            dec(j);
        end;
    until i>j;
    if i<r then zhu(i,r);
    if l<j then zhu(l,j);   

readln(n);
    for i:=1 to n do read(a[i]);
    zhu(1,n);
    for i:=1 to n do write(a[i],' ');

我要回答