资源简介
数据结构与算法实验题 5.1 排序
★实验任务
通过交换元素位置实现排序的算法通常称为交换排序算法。如果只允许交换相邻元素的位置,则称为相邻交换排序算法,如冒泡排序算法。
给定 n 个待排成升序的整数,求出相邻交换排序算法交换元素位置的最少次数。
★数据输入
输入第一行为一个正整数 n (n < =500000)
输入第二行为 n 个整数,这些整数可能有相同的。
★数据输出
输出相邻交换排序算法交换元素位置的最少次数。
PS:请用 long long 来计算次数,输入输出请用 scanf,printf
★实验任务
通过交换元素位置实现排序的算法通常称为交换排序算法。如果只允许交换相邻元素的位置,则称为相邻交换排序算法,如冒泡排序算法。
给定 n 个待排成升序的整数,求出相邻交换排序算法交换元素位置的最少次数。
★数据输入
输入第一行为一个正整数 n (n < =500000)
输入第二行为 n 个整数,这些整数可能有相同的。
★数据输出
输出相邻交换排序算法交换元素位置的最少次数。
PS:请用 long long 来计算次数,输入输出请用 scanf,printf
代码片段和文件信息
#include
using namespace std;
int a[500005]m[500005]n;
long long ans=0;//记录逆序对
void msort(int lint r)
{
if(l==r) return;
int mid=(l+r)/2;
msort(lmid)msort(mid+1r);
int i=lj=mid+1k=l;
while(i<=mid&&j<=r)
{
if(a[i]<=a[j])
{
m[k]=a[i];
k++;
i++;
}
else if(a[i]>a[j])
{
m[k]=a[j];
k++;
- 上一篇:x新安江模型c++
- 下一篇:Quicksum(C语言)
相关资源
- 原创:51单片机操作ds18b20ds1302,lcd1
- matlab2016b配置VS2017编译器mexopts补丁文
- 51单片机下oled显示ds18b20采集温度
- 非标设备接入GB28181平台C语言代码实现
- matlab2016b vs2017编译器补丁文件
- rgb24转yuv420高效率 完整代码,C++实现
- Indy10.2.3.BCB2007
- 基于STC89C51单片机的DS18B20的温度报警
- 18b20温度显示
- STC15F104E单片机18B20温度传感器的
- DS18b20 温度检测液晶显示-温度可调上
- 51单片机及温度传感器DS18B20来设计
- 温度检测(DS8B20)
- 18B20中文手册.pdf(DS1820单总线数字温
- ds18b20温度控制
- ds18b20.zip(STM32F103使用DS18B20读取代码
- USB2.0接口电路设计与编程
- 21 用数码管与DS18B20设计温度报警器
- 用数码管与DS18B20设计温度报警器真正
- C51单片机串口与PC通讯,通过DS18B20采
评论
共有 条评论