题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
#include<iostream>
using namespace std;
const int N=100000; //在C++中,定义数组必须用常量,若无此处定义则N为变量
int q[N];
int temp[N];
void sort_method(int q[],int l,int r)
{
if(l>=r) return;
int mid= l+r+1 >> 1; //此处有个后面整数二分查找的相同的问题,若要mid包含在后半部分,则必须加上1;
int i=l,j=mid;
int k=0;
sort_method(q,l,mid-1);
sort_method(q,mid,r);
while(i<=mid-1 && j<=r)
{
if(q[i]<q[j])
{
temp[k]=q[i];
i++;
k++;
}
else
{
temp[k]=q[j];
j++;
k++;
}
}
while(i<=mid-1) temp[k++]=q[i++];
while(j<=r) temp[k++]=q[j++];
k=0;
for(int m=l;m<=r;m++) q[m]=temp[k++];
}
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++) scanf("%d",&q[i]);
sort_method(q,0,n-1);
for(int i=0;i<n;i++) printf("%d ",q[i]);
}