这恐怕是一道 坑最多 最经典 的题目了。

这道题有两种解题方法:

1.自己写个排序函数

这里我们用最最最最常用的快速排序:

#include <iostream>
#define ll long long
using namespace std;

ll n,a[100005];

//定义一个交换函数
template <class Ty>
void q_swap(Ty &a,Ty &b){
    Ty x=a;
    a=b; b=x;
}
void q_sort(int _a,int _b){
    if(_a>_b) return;  //避免越界

    int mid=a[_a]; //得到基准数
    int i=_a,j=_b;        //复制
    while(i!=j){        //判断是否重合
        while(a[i]<mid) i++;  //遍历
        while(a[j]>mid) j--;
        if(i<j)
            q_swap<ll>(a[i],a[j]); //调用交换函数
    }
    q_sort(_a,i-1);   //向左边递归
    q_sort(i+1,_b);   //向右边递归
}
int main() {
    ll i;

    cin >> n;
    for(i=0;i<n;i++) cin >> a[i];

    //调用函数执行排序
    q_sort(0,n-1);

    for(i=0;i<n;i++) cout << a[i] << ' ';
    return 0;
}

2.用C++自带排序函数

STL大法好,这想必大家都知道。

C++的STL库中自带了一个排序函数:sort

调用方法:sort(起始地址, 结束地址);

头文件:algorithm

代码:

#include <iostream>
#include <algorithm>   //sort函数的头文件
#define ll long long
using namespace std;

ll n,a[100005];

int main() {
    ll i;

    cin >> n;
    for(i=0;i<n;i++) cin >> a[i];

    sort(a,a+n);   //直接排序

    for(i=0;i<n;i++) cout << a[i] << ' ';
    return 0;
}

最新文章

  1. selinux 导致无法启动httpd
  2. 【leetcode】Best Time to Buy and Sell 3 (hard) 自己做出来了 但别人的更好
  3. php获取图片宽高等属性
  4. hive,spark的远程调试设置
  5. Android(java)学习笔记130:ProgressBar使用的
  6. apache的ab进行页面的压力测试
  7. L10 数据入站、转发、出站流程
  8. UISearchBar去除底部黑线问题
  9. jquery多级下拉菜单
  10. 网站与域名知识扫盲-DNS
  11. 201521123030 《Java程序设计》 第11周学习总结
  12. Random Forest vs GradientBoostingDecisionTree
  13. Ubuntu 16.04下安装64位谷歌Chrome浏览器
  14. IIS7.5配置过程
  15. CRM 各种类型字段的 赋值 取值
  16. FROM USE CASES TO TEST CASES
  17. C语言:传值,传地址
  18. JAVA设计模式详解(三)----------装饰者模式
  19. [dubbo实战] dubbo+zookeeper伪集群搭建 (转)
  20. JAVA :Jpanel 控件 无法显示问题

热门文章

  1. 论文阅读笔记(八)【IEEEAccess2019】:High-Resolution and Low-Resolution Video Person Re-Identification: A Benchmark
  2. 数据库SQL语法到MySQL实操
  3. 树莓派4B遇到的坑
  4. MySQL启动失败故障思路
  5. [TJOI2007] 路标设置 - 二分答案,贪心
  6. 解决pjax重复绑定
  7. String.format()的用法记录
  8. Three.js的开始(附代码)_2
  9. jQuery---jQuery初体验
  10. 【Unity|C#】基础篇(9)——匿名函数 / Lambda表达式