数据结构实验之排序二:交换排序 (SDUT 3399)
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
//int sum = 0;
int a[100004]; //题目是长整型,不过这里 int 也可以。。
int b[100005];
void qusort(int l, int r, int a[], int &sum) //这里如果不想传sum,就把sum定义成全局,如注释
{
int i = l, j = r;
int x = a[i];
if(i >= j) return ;
while(i < j)
{
while(i < j && a[j] >= x) j --;
if(a[j] != a[i]) sum ++;
a[i] = a[j];
while(i < j && a[i] <= x) i ++;
if(a[j] != a[i]) sum ++;
a[j] = a[i];
}
a[i] = x;
qusort(l,i-1,a,sum);
qusort(i+1,r,a,sum);
}
int main()
{
int n;
while(~scanf("%d",&n))
{
for(int i = 0; i < n; i ++)
{
scanf("%d",&a[i]);
b[i] = a[i];
}
int num = 0; // 冒泡
int sum = 0; //快排
for(int i = 0; i < n; i ++)
{
for(int j = 0; j < n - i - 1; j ++)
{
if(a[j] > a[j +1])
{
int t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
num ++;
}
}
}
qusort(0,n-1,b,sum);
printf("%d %d\n",num,sum);
}
return 0;
}
数据结构实验之排序二:交换排序 (SDUT 3399)的更多相关文章
- SDUT 3399 数据结构实验之排序二:交换排序
数据结构实验之排序二:交换排序 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 冒泡排序和快 ...
- SDUT OJ 数据结构实验之排序二:交换排序
数据结构实验之排序二:交换排序 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...
- SDUT-3399_数据结构实验之排序二:交换排序
数据结构实验之排序二:交换排序 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 冒泡排序和快速排序都是基于"交 ...
- SDUT 3401 数据结构实验之排序四:寻找大富翁.!
数据结构实验之排序四:寻找大富翁 Time Limit: 150MS Memory Limit: 512KB Submit Statistic Problem Description 2015胡润全球 ...
- SDUT OJ 数据结构实验之二叉树二:遍历二叉树
数据结构实验之二叉树二:遍历二叉树 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descr ...
- SDUT OJ 数据结构实验之串二:字符串匹配
数据结构实验之串二:字符串匹配 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...
- SDUT OJ 数据结构实验之排序四:寻找大富翁
数据结构实验之排序四:寻找大富翁 Time Limit: 200 ms Memory Limit: 512 KiB Submit Statistic Discuss Problem Descripti ...
- SDUT OJ 数据结构实验之排序三:bucket sort
数据结构实验之排序三:bucket sort Time Limit: 250 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem D ...
- SDUT OJ 数据结构实验之排序一:一趟快排
数据结构实验之排序一:一趟快排 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...
随机推荐
- Unity项目 - 坦克大战3D TankBattle
目录 游戏原型 项目演示 绘图资源 代码实现 技术探讨 参考来源 游戏原型 游戏玩法:在有界的战场上,玩家将驾驶坦克,代表绿色阵营,与你的队友一起击溃红蓝阵营的敌人,在这场三方大战中夺得胜利! 操作指 ...
- Oracle.EntityFrameworkCore使用时报错:ORA-00933:SQL命令未正确结束
如果你在使用 Oracle.EntityFrameworkCore 在执行一些分页查询或者其他数据操作时,遇到“ORA-00933:SQL命令未正确结束”, 请先检查你的DbContext中UseOr ...
- mybatis-plus代码生成,实体类不生成父类属性
一.参考文档: 官方文档其实说的很清楚了,可能有个别地方有点不太清楚. mybatis-plus官方: https://mp.baomidou.com/guide/generator.html 模版引 ...
- 移动Web深度剖析
随着前端技术的急速发展,随着互联网行业的日益发展,HTML5作为一种比较新型的开发技术早已经被很多大的企业所应用,通过HTML5语言可以开发适用于任何设备上的酷炫网站页面,所以HTML5的发展趋势可想 ...
- React Native 开发豆瓣评分(六)添加字体图标
添加依赖 yarn add react-native-vector-icons Link 依赖 react-native link react-native-vector-icons 使用默认字体图标 ...
- 结合模板导出PDF文件
@Action("report_exportJasperPdf") public String exportJasperPdf() throws Exception{ ...
- 如何在SAP Cloud Platform ABAP编程环境里创建一个employee
用ABAP Development Tool登录SAP Cloud Platform ABAP编程环境后,对ABAP项目点击右键,选择属性,从而找到该环境的web访问的url: https://325 ...
- mysql数据库备份,主从复制及半同步复制
1.使用mysqldump备份数据库并通过备份及二进制日志还原数据(备份完后再写入数据,然后再删库) mysqldump -A --single-transaction -F --master-dat ...
- RBF神经网络——直接看公式,本质上就是非线性变换后的线性变化(RBF神经网络的思想是将低维空间非线性不可分问题转换成高维空间线性可分问题)
Deeplearning Algorithms tutorial 谷歌的人工智能位于全球前列,在图像识别.语音识别.无人驾驶等技术上都已经落地.而百度实质意义上扛起了国内的人工智能的大旗,覆盖无人驾驶 ...
- linux 小常识
背景: 在工具中遇到一些linux相关的问题,解决后做个笔记记录下来,后续遇到就不用 在查来查去了 1. 启动地址配置 127.0.0.1 和 0.0.0.0 区别 127.0.0.1 地址只能对本机 ...