[计蒜客(蓝桥杯省赛)]交叉排序 原创
题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛)
算法标签 冒泡排序
题目描述

思路
冒泡排序
代码
#include<iostream>
using namespace std;
const int N=1E5;
int a[N],l1,r1,l2,r2,n;
void sort(int l1,int r1,int l2,int r2)
{
for(int i=l1;i<=r1;i++)
for(int j=i+1;j<=r1;j++)
if(a[i]>a[j])a[i]^=a[j]^=a[i]^=a[j];
for(int i=l2;i<=r2;i++)
for(int j=i+1;j<=r2;j++)
if(a[i]<a[j])a[i]^=a[j]^=a[i]^=a[j];
}
int main()
{
cin>>n>>l1>>r1>>l2>>r2;
for(int i=1;i<=n;i++)cin>>a[i];
sort(l1,r1,l2,r2);
for(int i=1;i<=n;i++)
if(i!=n)cout<<a[i]<<" ";
else if(i==n)cout<<a[i];
return 0;
}

浙公网安备 33010602011771号