当前位置: 首页 > news >正文

2024.03.03蓝桥云课笔记——排序

sort简介
  1. #include<algorithm>

  2. 使用的是快速排序

  3. 时间复杂度为O(nlogn)

sort使用(默认是从小到大)

1.sort(起始地址,结束地址的下一位,*比较函数);

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{int a[1000];int n;cin>>n;for(int i=1;i<=n;++i)cin>>a[i];sort(a+1,a+n+1);for(int i=1;i<=n;++i)cout<<a[i]<<'\n';return 0;
}

2.sort(起始地址(对迭代器而言begin()),结束地址的下一位,*比较函数)

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{vector<int>v={5,3,1,7,2};sort(v.begin(),v.end());for(int i=0;i<v.size();i++){cout<<v[i]<<" ";}return 0;
}
自定义比较函数

sort函数的第三个参数,可以是函数,也可以是lambda表达式

#include<bits/stdc++.h>
using namespace std;
bool cmp(const int &u,const int &v)
{return u>v;
}
int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);vector<int>v={4,2,7,120,35};sort(v.begin(),v.end(),cmp);//lambda表达式//sort(v.begin(),v.end(),[](const int &u,const int &v){return u>v;});for(int i=0;i<v.size();i++){cout<<v[i]<<" ";}return 0;
}

例题:1.排序 - 蓝桥云课 (lanqiao.cn)

题解1:

#include <bits/stdc++.h>
using namespace std;
​
const int N = 5e5 +3;
int a[N];
​
int main()
{int n;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}
​sort(a+1,a+1+n);for(int i=1;i<=n;i++){cout<<a[i]<<" ";}cout<<'\n';
​for(int i=n;i>=1;i--){cout<<a[i]<<" ";}return 0;
}

题解2:

#include <bits/stdc++.h>
using namespace std;
const int N = 5e5+3;
int a[N];
​
int main()
{int n;cin>>n;
​for(int i=1;i<=n;i++){cin>>a[i];}
​sort(a+1,a+1+n);
​for(int i=1;i<=n;i++){cout<<a[i]<<" ";}cout<<'\n';
​sort(a+1,a+1+n,[](const int &u,const int &v){return u>v;});
​for(int i=1;i<=n;i++){cout<<a[i]<<" ";}return 0;
}

http://www.lryc.cn/news/310515.html

相关文章:

  • Vue3和ElementPlus封装table组件
  • 第一篇:参考资料地址
  • wordpress 开源主题
  • 【Linux网络命令系列】ping curl telnet三剑客
  • 于月仙主动与赵本山握手表示欢迎,赵:怎么着要跟我第二次牵手啊?
  • Unity UGUI之Slider基本了解
  • 【Linux】进程间通信之共享内存
  • 文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于条件风险价值的虚拟电厂参与能量及备用市场的双层随机优化》
  • 前端架构: 脚手架通用框架封装之CommonJS和ESM混合开发兼容解决(教程五)
  • 基于主从模式的Reactor的仿muduo网络库
  • Linux服务器搭建超简易跳板机连接阿里云服务器
  • Windows Server 各版本搭建文件服务器实现共享文件(03~19)
  • ARM总结and复习
  • 非功能测试的定义、类型和示例
  • Angular基础---HelloWorld---Day1
  • k8s部署项目常见的问题及解决方案
  • Redis实现乐观锁+秒杀场景demo
  • 阅读笔记 | Transformers in Time Series: A Survey
  • WPF MVVM中List<>和ObservableCollection<>的区别与对比分析
  • python给企微发消息
  • TCP/IP状态迁移
  • C语言实现各类排序算法
  • Network LSA 结构简述
  • 揭示IP风险画像的作用与价值
  • [python] dataclass 快速创建数据类
  • opencv实现图像的融合
  • Orbit 使用指南 02 | 在场景中生成原始对象| Isaac Sim | Omniverse
  • 【2024】利用python爬取csdn的博客用于迁移到hexo,hugo,wordpress...
  • 从嵌入式Linux到嵌入式Android
  • 蓝桥ACM培训-实战1