#include<bits/stdc++.h>
using namespace std;
const int Maxn=1000S:
int n,b[Maxn];
inline void mergesort(int*a,int l,int r){
if(l==r)return;
int mid=l+r>>1;
mergesort(a,l,mid),mergesort(a,mid+1,r);
int i=l,j=mid+1,cnt-0;
while(i<=mid && j<=r){
if (a[i]<=a[j])b[++cnt]=a[i++]else b[ ++cnt]=a[j++];
while(i<=mid)b[++cnt]=a[i++];
while(j<=r)b[++cnt]=a[j++];
for(i=l;i<=r;i++)a[i]-b[i-l+1];
int alMaxn];
int main(void){
cin>>n;
for(int i=l;i<=n;i++)
cin>>a[i];
mergesort(a,l,n);
for (int i=l;i<=n;i++)
cout<<a[i]<<(i==n ?'\n':’ ');
return 0;
该算法中“int*a”没有传值
该算法会换行。
该算法中mergesort函数时间复杂度为0(nlogn)
如果输人为“543978”则输出为34789\n。
下面哪句与“i==n?'\n':’'”相同
A.i!=1 ?'\n':' '
" \n"[i= =n]
\n"[i !=n]
' '
该算法的最劣复杂度与哪个排序算法相同
快速排序
选择排序
计数排序
堆排序
发表评论