qvector 结构体排序_1164 2547 (排序微课)(B站视频链接)
这次视频,录了两个题目,第一个题目是基本的排序题,可以用冒泡排序类基本的O(n^2)排序,也可以调用sort排序;第二个题目是多级排序,可以建立结构体,写cmp排序规则,然后调用sort排序。sort的时间复杂度为O(nlogn),内部写法不是快速排序,因而快速排序有时会退化到O(n^2),sort不会退化。
sort的头文件是#include,也包含在万能头文件里面,所以考试时,还是可以只写万能头文件。
B站视频地址:https://www.bilibili.com/video/BV1tD4y1S7Qo
1164冒泡排序写法:
#includeusing namespace std;int n,a[105];int main(){ cin>>n; for(int i=1; i<=n; i++) cin>>a[i]; for(int i=2; i<=n; i++) for(int j=n; j>=i; j--) if(a[j]-1]) swap(a[j],a[j for(int i=1; i<=n; i++) cout<endl; return 0;}
1164调用sort:
#include#include //算法头文件using namespace std;int n,a[105];int main(){ cin>>n; for(int i=1; i<=n; i++) cin>>a[i]; sort(a+1,a+1+n); //从1排到n,从小到大 for(int i=1; i<=n; i++) cout<endl; return 0;}
2547结构体多级排序:
#include//#include //算法头文件using namespace std;struct stu{ int xh,cj,qlz; char xm[35];};stu p[100005];int n,a,b;bool cmp(stu x,stu y){ //排序规则 if(x.cj!=y.cj) return x.cj>y.cj; if(x.qlz!=y.qlz) return x.qlz>y.qlz; if(strcmp(x.xm,y.xm)!=0) return strcmp(x.xm,y.xm)<0; return x.xh}int main(){ scanf("%d",&n); for(int i=1; i<=n; i++) scanf("%d%s%d%d",&p[i].xh,p[i].xm,&p[i].cj,&p[i].qlz); sort(p+1,p+1+n,cmp); scanf("%d%d",&a,&b); for(int i=a; i<=b; i++) printf("%d %s %d %d\n",p[i].xh,p[i].xm,p[i].cj,p[i].qlz); return 0;}
视频截图:
qvector 结构体排序_1164 2547 (排序微课)(B站视频链接)相关推荐
- 练习-编写函数对结构体类型数据进行排序
第1关:编写函数对结构体类型数据进行排序 任务描述 本关任务:定义学生结构体数据类型,从键盘输入一批学生的信息,编写函数将这批学生按姓名排序. 相关知识 结构体变量之间整体是不可以比较大小的,结构体变 ...
- qvector 结构体排序_C++结构体的应用_YCOJ
结构体是一种自定义的东西,用struct来定义.在他里面, 可以装许多东西,比如int,string,char,bool等等等等. 如: struct a{ string name; int a; i ...
- QVector 结构体排序
一.定义结构体 struct MyStruct {int index; //索引float area; //面积 }; 二.排序函数 函数声明要采用 static static bool sort_b ...
- C++中,结构体vector使用sort排序
一.遇到问题: 今天写代码的是遇到想对vector进行排序的问题,隐约记得std::sort函数是可以对vector进行排序的,但是这次需要排序的vector中压的是自己定义的结构体(元素大于等于2) ...
- 利用结构体数组实现重排序(详解)
一:要求 输入乱序的 成绩单 包括 姓名和成绩,成绩按照递增顺序 输出,如果遇见成绩相同的 按名字的字典序输出. 示例: 输入 5 w 12 a 12 v 7 c 3 e 9 输出: c 3 v 7 ...
- 谈谈结构体部分成员排序(重载的利用/sort)
涉及知识点: 1.重载运算符的知识 2.sort函数的使用 3.高精度排序 sort函数的用法? 通过面向百度GOOGLE编程的我,得知,sort的用法 sort函数详解(史上最完整QAQ) - Al ...
- C语言结构体自定义排序
结构体自定义排序: 在最基础的C语言中,排序较为简单的有三种:冒泡,选择,插入.其中选择最劣.复杂一点的有快速排序和归并排序,在这里后两种我就不介绍了. 在使用结构体排序的时候,里面可能有许多不同的对 ...
- 结构体排序+sort()
目录 1.结构体定义 2.sort排序 1.sort()函数的头文件和用法举例 2.sort()函数的参数说明 两个参数 三个参数 3.结构体排序 1.结构体定义 结构体(struct)是由一系列具有 ...
- C语言 · 运用结构体的排序方法
AllSight C语言 · 运用结构体的排序方法 之前遇到排序只想着最原始的方法,诸如冒泡,选择,快速排序等等,刚刚跟大牛学会了结构体的方法来排序,这样的话以后再也不用怕成绩统计.名次排序之类的题目 ...
最新文章
- git show查看本地文件的修改部分,git diff 如何比较文件,git grep 搜索
- JavaFX快速入门完整代码:点击按钮显示当前系统时间示例
- java里dir是什么意思_关于文件系统:为什么user.dir系统属性在Java中工作?
- tps 数据库写并发衡量_硬核干货!抗住百万高并发的 6 个关键技术!
- 关于PHP的工作流引擎
- Linux运维问题解决(1)——Linux 定时任务 crontab 配置及示例
- 【肥朝】从一次问题讨论聊聊我对阅读源码的思考
- Fastify 系列教程三 (验证、序列化和生命周期)
- 联创宽带上网助手 vista版
- 爱奇艺影业,你明天还为传统电影业打工吗?
- eNSP配置路由器IP地址
- iptables中-j选项与-g选项的区别
- php中的 -是什么
- 区块链版《绝地求生》游戏—Blast Royale攻略
- /usr/bin/ld: cannot find -lxxx
- 情感分析(Emotion Detector)
- 【C语言】运算符的优先级
- 七牛报错error: Error Domain=NSCocoaErrorDomain Code=256 “未能打开该文件。
- 5G时代不可或缺的关键技术:详解边缘计算参考架构3.0
- 经典的深度强化学习劝退文读后感
热门文章
- mysql 本地登录失败 - 已授权
- 两种方式实现word转markdown
- 刚接触Python,这么多IDE我该怎么选
- python3 一 线程与互斥锁详解
- RDL(C) Report Design Step by Step 2: SubReport
- flask执行python脚本_如何从Flask应用程序执行Shell脚本
- 审车按月还是日期_@老司机,你该审车了,秒懂的审车攻略,快快揣口袋吧
- leetcode —— 39. 组合总和
- Pytorch —— 优化器Optimizer(二)
- python中sklearn中的Imputer模块改动