社区讨论

归并排序,全WA,求指点

P1177【模板】排序参与者 4已保存回复 13

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
13 条
当前快照
1 份
快照标识符
@lo23gscq
此快照首次捕获于
2023/10/23 07:22
2 年前
此快照最后确认于
2023/11/03 07:42
2 年前
查看原帖

代码如下

CPP
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int a[114514],b[114514],ans;
void mergee(ll l,ll r){
    if(l>=r) return;
    ll mid=(l+r)/2;
    ll i=l,j=mid+1,len=0;
    while(len<r-l+1){
        if(a[i]<a[j]&&i<=mid){
            b[++len]=a[i++];
        }
        else if(j<=r){
        	b[++len]=a[j++];
		} 
    }
    for (int i=l;i<=r;i++) a[i]=b[i];
	return;
}
void merge_sort(ll l,ll r){
	if(l<r){
		int mid=(l+r)/2;
		merge_sort(l,mid);
		merge_sort(mid+1,r);
		mergee(l,r);
	}
}
int main(){
    ll n;
    cin>>n;
    for(int i=1;i<=n;i++){
    	cin>>a[i];
	}
	merge_sort(1,n);
	for(int i=1;i<=n;i++){
		cout<<a[i]<<" ";
	}
	cout<<endl;
	return 0;
}

回复

13 条回复,欢迎继续交流。

正在加载回复...