手动扩栈防止REorTLE:

#pragma comment(linker, "/STACK:1024000000,1024000000")

sort排序  and  顶端最大的优先队列      ------      重载“<”

顶端最小的优先队列      ------      重载">"

关于重载的详细内容请见:https://blog.csdn.net/jaihk662/article/details/79830376

//#pragma comment(linker, "/STACK:1024000000,1024000000")      --手动扩栈防止REorTLE
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<queue>
using namespace std;
struct Point
{int a;char str[105];bool operator < (const Point &other) const      /*制定结构体与结构体比较时"<"的规则,不影响"<"的正常使用*/{if(a<other.a || a==other.a && strcmp(str, other.str)>0)return 1;    /*重载后,sort时结构体按从小到大排序,优先队列顶端最大,可以直接用<来比较两个结构体大小*/return 0;}
};
Point s[10005];
priority_queue<Point> q;
int main(void)
{int i, n;scanf("%d", &n);for(i=1;i<=n;i++){scanf("%s%d", s[i].str, &s[i].a);q.push(s[i]);}sort(s+1, s+n+1);for(i=1;i<=n;i++)printf("%s %d\n", s[i].str, s[i].a);if(n>=2 && s[1]<s[2])printf("s[1]<s[2]\n");printf("the top is %s %d\n", q.top().str, q.top().a);return 0;
}
/*当且仅当结构体中重载"<"时sort和priority_queue才能使用,因为它们都用到了"<"而没有用到其他必要符号*/

结构体符号重载(简单版+手动扩栈方法)相关推荐

  1. C语言结构体和结构体指针的简单用法

    C语言结构体和结构体指针的简单用法 这里总结一下自己的学习笔记,关于C语言当中的结构体指针的用法,以及结构体简单使用. 简单介绍一下今天出场的嘉宾–>结构体和结构体指针 什么是结构体: 1,定义 ...

  2. 关于结构体中重载小于号< (用于sort()排序) 或者大于号> (这是用于堆排序)

    关于结构体中重载小于号< (用于sort()排序) 这样就不用写cmp函数了. 使用的示例:(来自pat1026题,乒乓球的题) struct Person {int arrive_time,p ...

  3. c 定义结构体时提示应输入声明_C语言结构体的坑很多,这6大方法千万要记住!...

    本文福利在文末! C语言可谓是编程界的传奇语言,历经几十年,依然排名前列. 本文主要说的是C语言中的结构体,结构体是C语言中重要的一部分内容,也是C语言中常用的一种数据结构. 一.关于结构体在C语言中 ...

  4. 【Golang第8章:面向对象编程】Go语言的结构体是什么,怎么声明;Golang方法的调用和声明;go语言面向对象实例,go语言工厂模式;golang面向对象的三大特性:继承、封装、多态

    介绍 这个是在B站上看边看视频边做的笔记,这一章是Glang面向对象编程 这一章内容较多,内容有Go语言的结构体是什么,怎么声明:Golang方法的调用和声明:go语言面向对象实例,go语言工厂模式: ...

  5. 【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 栈内存创建 )

    文章目录 一.结构体 数组 作为函数参数 ( 数组 在 栈内存创建 ) 二.完整代码示例 一.结构体 数组 作为函数参数 ( 数组 在 栈内存创建 ) 声明结构体类型 : 定义 结构体 数据类型 , ...

  6. C语言结构体,超简单入门版!

    同学们好啊,我是401郭明,这篇博文我将带大家好好分析C语言结构体,帮大家在C语言方面快速打好基础,本篇博文主要针对没有C语言基础或者C语言基础不好的同学. 为了方便大家理解,我这篇文章将会讲的十分之 ...

  7. 用结构体写一个简单的通讯录

    一个简单的通讯录 通讯录应该具备简单的一些功能 1 增添联系人 2 删除联系人 3 查找联系人 4 修改联系人 5 按名字给联系人排序 6 查看通讯录 除此之外,应该在实现上还应该具备一些其他的功能函 ...

  8. C语言——结构体(初阶版)

    1.定义和使用结构体变量 结构体的基础知识 结构是一些值的集合,这些值称为成员变量.结构的每个成员可以是不同类型的变量. 自己建立结构体类型 结构的成员可以是标量.数组.指针,甚至是其他结构体. st ...

  9. c语言 电话簿 链表,C语言_链表_结构体_电话簿简单实现

    [目的] 1.编写手机电话薄管理程序,用结构体实现下列功能: (1) 手机电话薄含有姓名.宅电.手机3项内容,建立含有上述信息的电话簿. (2)输入姓名,查找此人的号码. (3)插入某人的号码. (4 ...

最新文章

  1. jQuery-处理class属性
  2. rdf(资源描述框架)
  3. 找不到python2018解释器_python解释器安装教程的方法步骤
  4. Java使用BTrace动态替换线上class文件
  5. python上传文件到linux服务器_python上传大文件到服务器报错
  6. 前端开发 常用选择符与权重0229
  7. 前端:CSS/15/全局CSS设置,常用的兼容性调试技巧,CSSHACK
  8. springboot运行在eclipse报异常的问题
  9. linux使用vim同时打开文件,VIM 在同一个窗口中同时编辑多个文件
  10. 软件架构发展的几个阶段
  11. Sqoop 使用指南
  12. 郑传华:微商快速赚钱108招
  13. linux 内核---------董昊 ( Robin Dong ) and OenHan
  14. 逻辑思维题总结与例题分析
  15. 机器学习入门 笔记(二) 机器学习基础概念
  16. mac安装jekyll
  17. Mac无法开机?如何修复并使其重新启动
  18. 信息化系统要如何选型?
  19. 中台不同于平台,那么到底啥是中台?
  20. QCustomPlot之盒须图(十六)

热门文章

  1. python是什么软件-学习python用什么软件
  2. python在财务中的应用-Python用于财务工作培训
  3. 语音识别如何操作?这种语音转文字方法也太好用了吧,简单高效
  4. 多角度了解科大讯飞公司之一(语音识别)
  5. vue elementui表单清空前一次的数据
  6. VUE图片预览放大缩小插件viewer
  7. 【MYSQL进阶挑战】筛选排序
  8. 【数据结构和算法笔记】图的相关概念(有向图,无向图......)
  9. 最简单的基于FFMPEG+SDL的视频播放器:拆分-解码器和播放器
  10. 计算机实验内容记录,关于实验数据自动记录到电脑上的问题