结构体符号重载
来源:互联网 发布:淘宝外穿铅笔裤 编辑:程序博客网 时间:2024/06/06 01:56
#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才能使用,因为它们都用到了"<"而没有用到其他必要符号*/
0 0
- 结构体符号重载
- 结构体符号重载(简单版+手动扩栈方法)
- []符号重载
- 符号重载
- 结构体 ‘<’ 重载注意
- 结构体运算符重载
- 结构体运算符重载
- 结构体运算符重载
- 结构体运算符重载
- C#符号重载
- 重载了>等符号:
- (转)运算符号重载
- 符号重载的理解
- C++重载符号
- C符号重载
- c++ 符号重载
- C++运算符号重载
- c++操作符号重载
- 【codeforces 571B】Minimization
- 内存池(锁模块代码)
- 解决Stm32出现..\HARDWARE\ADC\adc.c(22): error: #20: identifier "ADC_InitTypeDef" is undefined异常
- Json使用
- linux线程属性
- 结构体符号重载
- 如何在 Linux 中启用 Shell 脚本的调试模式
- 内存池(节点分配)
- 202. Happy Number
- javascript 学习笔记1基本语法
- TensorFlow6: 基于WiFi指纹的室内定位(autoencoder)
- Combinations
- Java 字节流与字符流的区别
- 56 leetcode - Jump Game