U50528.new

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

输出a

说明/提示

//快速排序
#include<bits/stdc++.h>
using namespace std;
int n,a[10010];
int p(int a[],int l,int r){
	int k=a[l];
	while(l<r){
		while(l<r && a[r]>=k) r--;
		a[l]=a[r];
		while(l<r && a[l]<=k) l++;
		a[r]=a[l];
	}
	a[l]=k;
	return l;
}
void qs(int a[],int l,int r){
	if(l>=r) return ;
	int pos=p(a,l,r);
	qs(a,l,pos-1);
	qs(a,pos+1,r);
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	qs(a,1,n);
	for(int i=1;i<=n;i++)cout<<a[i]<<' ';
}
//归并排序
#include<iostream>
using namespace std;
int n , a[1010] , temp[1010];
void m(int l , int r){
	if(l==r) return;
	int mid=(l+r)/2;
    m(l,mid);
    m(mid+1,r);
	int i = l, j = mid + 1, k = l;
	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(int i=l;i<=r;i++) a[i]=temp[i];
}
int main(){
	cin >> n;
	for(int i=1;i<=n;i++) cin>>a[i];
	m(1,n);
	for(int i=1;i<=n;i++) cout<<a[i]<<" ";
	return 0;
}
首页