这次视频,录了两个题目,第一个题目是基本的排序题,可以用冒泡排序类基本的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. 练习-编写函数对结构体类型数据进行排序

    第1关:编写函数对结构体类型数据进行排序 任务描述 本关任务:定义学生结构体数据类型,从键盘输入一批学生的信息,编写函数将这批学生按姓名排序. 相关知识 结构体变量之间整体是不可以比较大小的,结构体变 ...

  2. qvector 结构体排序_C++结构体的应用_YCOJ

    结构体是一种自定义的东西,用struct来定义.在他里面, 可以装许多东西,比如int,string,char,bool等等等等. 如: struct a{ string name; int a; i ...

  3. QVector 结构体排序

    一.定义结构体 struct MyStruct {int index; //索引float area; //面积 }; 二.排序函数 函数声明要采用 static static bool sort_b ...

  4. C++中,结构体vector使用sort排序

    一.遇到问题: 今天写代码的是遇到想对vector进行排序的问题,隐约记得std::sort函数是可以对vector进行排序的,但是这次需要排序的vector中压的是自己定义的结构体(元素大于等于2) ...

  5. 利用结构体数组实现重排序(详解)

    一:要求 输入乱序的 成绩单 包括 姓名和成绩,成绩按照递增顺序 输出,如果遇见成绩相同的 按名字的字典序输出. 示例: 输入 5 w 12 a 12 v 7 c 3 e 9 输出: c 3 v 7 ...

  6. 谈谈结构体部分成员排序(重载的利用/sort)

    涉及知识点: 1.重载运算符的知识 2.sort函数的使用 3.高精度排序 sort函数的用法? 通过面向百度GOOGLE编程的我,得知,sort的用法 sort函数详解(史上最完整QAQ) - Al ...

  7. C语言结构体自定义排序

    结构体自定义排序: 在最基础的C语言中,排序较为简单的有三种:冒泡,选择,插入.其中选择最劣.复杂一点的有快速排序和归并排序,在这里后两种我就不介绍了. 在使用结构体排序的时候,里面可能有许多不同的对 ...

  8. 结构体排序+sort()

    目录 1.结构体定义 2.sort排序 1.sort()函数的头文件和用法举例 2.sort()函数的参数说明 两个参数 三个参数 3.结构体排序 1.结构体定义 结构体(struct)是由一系列具有 ...

  9. C语言 · 运用结构体的排序方法

    AllSight C语言 · 运用结构体的排序方法 之前遇到排序只想着最原始的方法,诸如冒泡,选择,快速排序等等,刚刚跟大牛学会了结构体的方法来排序,这样的话以后再也不用怕成绩统计.名次排序之类的题目 ...

最新文章

  1. git show查看本地文件的修改部分,git diff 如何比较文件,git grep 搜索
  2. JavaFX快速入门完整代码:点击按钮显示当前系统时间示例
  3. java里dir是什么意思_关于文件系统:为什么user.dir系统属性在Java中工作?
  4. tps 数据库写并发衡量_硬核干货!抗住百万高并发的 6 个关键技术!
  5. 关于PHP的工作流引擎
  6. Linux运维问题解决(1)——Linux 定时任务 crontab 配置及示例
  7. 【肥朝】从一次问题讨论聊聊我对阅读源码的思考
  8. Fastify 系列教程三 (验证、序列化和生命周期)
  9. 联创宽带上网助手 vista版
  10. 爱奇艺影业,你明天还为传统电影业打工吗?
  11. eNSP配置路由器IP地址
  12. iptables中-j选项与-g选项的区别
  13. php中的 -是什么
  14. 区块链版《绝地求生》游戏—Blast Royale攻略
  15. /usr/bin/ld: cannot find -lxxx
  16. 情感分析(Emotion Detector)
  17. 【C语言】运算符的优先级
  18. 七牛报错error: Error Domain=NSCocoaErrorDomain Code=256 “未能打开该文件。
  19. 5G时代不可或缺的关键技术:详解边缘计算参考架构3.0
  20. 经典的深度强化学习劝退文读后感

热门文章

  1. mysql 本地登录失败 - 已授权
  2. 两种方式实现word转markdown
  3. 刚接触Python,这么多IDE我该怎么选
  4. python3 一 线程与互斥锁详解
  5. RDL(C) Report Design Step by Step 2: SubReport
  6. flask执行python脚本_如何从Flask应用程序执行Shell脚本
  7. 审车按月还是日期_@老司机,你该审车了,秒懂的审车攻略,快快揣口袋吧
  8. leetcode —— 39. 组合总和
  9. Pytorch —— 优化器Optimizer(二)
  10. python中sklearn中的Imputer模块改动