题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛)

算法标签 冒泡排序

题目描述

[计蒜客(蓝桥杯省赛)]交叉排序_ci

思路

冒泡排序

代码

#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;
}