传送门

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std; int n;
long long a[100005]; inline void quick_sort(int l,int r) {
int i = l , j = r ;
int mid = a[(l + r ) / 2];
while(i<=j) {
while(a[i] < mid) i++;
while(a[j] > mid) j--;
if(i <= j) {
a[0] = a[i];
a[i] = a[j];
a[j] = a[0];
i++; j--;
}
if(l < j) quick_sort(l , j);
if(i < r) quick_sort(i , r);
}
} int main() {
scanf("%d",&n);
for(int i = 1; i <= n; ++i)
scanf("%d",&a[i]);
quick_sort(1 , n);
for(int i = 1; i <= n; ++i)
printf("%d ",a[i]);
return 0;
}

洛谷P1177快速排序的更多相关文章

  1. 洛谷 P1177 【模板】快速排序【13种排序模版】

    P1177 [模板]快速排序 题目描述 利用快速排序算法将读入的N个数从小到大排序后输出. 快速排序是信息学竞赛的必备算法之一.对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成.( ...

  2. 洛谷——P1177 【模板】快速排序

    P1177 [模板]快速排序. 题目描述 利用快速排序算法将读入的N个数从小到大排序后输出. 快速排序是信息学竞赛的必备算法之一.对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成. ...

  3. 洛谷 P1177 【模板】快速排序(排序算法整理)

    P1177 [模板]快速排序 题目描述 利用快速排序算法将读入的N个数从小到大排序后输出. 快速排序是信息学竞赛的必备算法之一.对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成.( ...

  4. 洛谷 P1177 【模板】快速排序 【快速排序/multiset排序】

    题目描述 利用快速排序算法将读入的N个数从小到大排序后输出. 快速排序是信息学竞赛的必备算法之一.对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成.(C++选手请不要试图使用STL ...

  5. 洛谷 P1177 【模板】快速排序

    这道题用传统快排(如下所示)的结果就是最后三个点TLE: void swap(int &a, int &b) { int tmp = a; a = b; b = tmp; } void ...

  6. 洛谷P1177 【模板】快速排序

    https://www.luogu.org/problem/P1177 #include<bits/stdc++.h> using namespace std; int n; multis ...

  7. 快速排序--洛谷卡TLE后最终我还是选择了三向切割

    写在前边 这篇文章呢,我们接着聊一下排序算法,我们之前已经谈到了简单插入排序 和ta的优化版希尔排序,这节我们要接触一个更"高级"的算法了--快速排序. 在做洛谷的时候,遇到了一道 ...

  8. 【堆】【洛谷例题】p1090 p1334 p1177

    (都是比较简单的典型的而且都是小根堆的例题) p1090 合并果子[传送门] 算法分析:要尽量使用最小的体力合并完所有果子,那么每次合并的两堆果子应该是这所有堆中最小的一个(因为越先合并的堆要被算的次 ...

  9. 洛谷1640 bzoj1854游戏 匈牙利就是又短又快

    bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...

随机推荐

  1. android与H5互相调用

    市面上很多android软件都有内嵌H5的,主要是为了节约成本,提高开发效率,其实现原理主要是通过Java代码和JavaScript代码的互相调用来实现. Java调用Js 1,webview初始化: ...

  2. day6-python基础

  3. Netflix的zuul使用

    1.zuul出现的原因 2.zuul的介绍 3.zuul如何使用 4.zuul的一些注意事项

  4. 静态常量整数成员在class内部直接初始化

    #include <vector> #include <deque> #include <algorithm> #include <iostream> ...

  5. jdk与jdt

    jdk是java的开发环境 ,程序的编译.运行都需要jdk.一个java开发平台,jdk少不了,而编辑器 可以多种多样,除了 eclipse中的JDT,还有独立的jcreate ,或者用记事本以其他加 ...

  6. git简单使用总结

    一.git配置 git config 1.git config --global user.name "ken" 配置用户名2.git config --global user.e ...

  7. 安装并使用 Wowza 发布你的 RTMP 直播流

    转载自:http://blog.csdn.net/defonds/article/details/11979095 I. 下载 Wowza         官方下载地址 http://www.wowz ...

  8. 科学计算三维可视化---Mlab基础(基于Numpy数组的绘图函数)

    Mlab了解 Mlab是Mayavi提供的面向脚本的api,他可以实现快速的三维可视化,Mayavi可以通过Mlab的绘图函数对Numpy数组建立可视化. 过程为: .建立数据源 .使用Filter( ...

  9. python---函数补充(变量传递),语句执行顺序(入栈顺序)

    一:函数补充 默认作为函数参数的数据,是浅拷贝传递.不是和C等语言一样,产生一个临时变量. class T: def __init__(self,num): print(id(num)) self.n ...

  10. Shell记录-Shell命令(文件权限)

    chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. 1. 命令格式 ch ...