qvector 结构体排序_C++结构体的应用_YCOJ
结构体是一种自定义的东西,用struct来定义。在他里面,
可以装许多东西,比如int,string,char,bool等等等等。
如:
struct a{
string name;
int a;
int b;
};
……
a s;
cin >> s.name;
代码示范:
例题:
身高排序
Description
有 n 个同学排成一排,从左到右依次编号为 1~n。
现在给出了这个 n 位同学的身高,但是并不是按照高矮排序的。现在这些同学需要按照身高从矮到高的顺序重新排列,矮的同学在左边,高的同学在右边。如果两个同学身高相同,那么这两个同学的相对顺序不应该发生变化。
请你输出排序以后从左到右同学的编号。
Input
输入一个行一个整数 n(1≤n≤1000)。
接下来一行输入 n 个整数,依次表示从左到右的同学的身高,每个同学身高小于等于 300。
Output
一行输出 n 个整数,两个数中间用空格隔开,行末不要有多余空格。
表示重新排列以后从左到右的同学的编号。
Sample Input 1
5
156 178 145 190 156
Sample Output 1
3 1 5 2 4
解题代码:
cpp
#include<iostream>
#include<algorithm>
using namespace std;
struct student{
int h;
int name;//name=编号
};//定义结构体
bool cmp(student x,student y){
return x.h<y.h;
}//排序函数
int main(){
int n,b=0;
cin >>n;//人数
student a[n];//定义student变量a
for (int i=0;i<n;i++){
b++;
a[i].name=b;
}
for (int i=0;i<n;i++){
cin >>a[i].h;
}
stable_sort(a,a+n,cmp);//更稳定的sort排序
for(int i=0;i<=n-2;i++){
cout << a[i].name<<" ";//为了去末尾空格,最后一个单独输出
}
cout << a[n-1].name;//输出最后一个
return 0;
}
注:结构体排序需要写一个排序函数。
这就是结构体。
标准结尾:
qvector 结构体排序_C++结构体的应用_YCOJ相关推荐
- python结构体排序_c++如何对自定义结构体排序
C++中,当 vector 中的数据类型为基本类型时,我们调用std::sort函数很容易实现 对vector中数据成员的升序或降序排序,然而当vector中的数据类型为自定义结构体类型或者类时,我们 ...
- 结构体排序+sort()
目录 1.结构体定义 2.sort排序 1.sort()函数的头文件和用法举例 2.sort()函数的参数说明 两个参数 三个参数 3.结构体排序 1.结构体定义 结构体(struct)是由一系列具有 ...
- python结构体排序
文章目录 一个参数比较 多个参数比较 在c/c++中,遇到结构体排序类似的问题时可以直接用struct定义一个结构体,然后重写cmp函数实现结构体排序,而在python中,没有结构体,那么如何实现结构 ...
- C++结构体排序,优先队列,运算符重载
文章目录 基本数据类型排序 结构体排序 比较函数 重载结构体运算符 优先队列 另外一种方法 优先队列基本知识 基本数据类型排序 #include <algorithm> #include ...
- PAT甲级1141 PAT Ranking of Institutions :[C++题解]结构体、排序、哈希表、结构体构造函数、结构体内写函数、排名
文章目录 题目分析 题目来源 题目分析 来源:acwing 分析:和下面这题是一道题: PAT甲级1137 Final Grading:[C++题解]结构体.排序.哈希表.结构体构造函数.结构体内写函 ...
- 还是贪心(结构体排序)
2128: 盾神与积木游戏 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 127 Solved: 39 [Submit][Status][Web Boa ...
- sort对结构体排序
1.排序方法: sort(数组起始指针,数组尾指针,排序规则); 数组起始指针,数组尾指针是左闭右开 排序规则可以省略,也可以用系统的,也可以自己写 2.例子: int a[]={9,2,4,5,10 ...
- P1068 分数线划定 洛谷 (C++)(结构体排序)
简单的结构体排序,代码如下 #include <iostream> #include <cstdio> #include <algorithm> #include ...
- C#中结构体排序方法(Array.sort() + ICompare)
感觉C#比C++麻烦许多,资料也少,找了半天竟然没有找到一个能用的结构体排序. 这是待排序的结构体: public struct la{public int id;public int sb;}; 首 ...
最新文章
- F5负载均衡会话保持技术及原理技术白皮书
- wamp配置虚拟域名
- 充电 | 打开机器学习的大门,需要了解哪些知识?
- 文档自动摘要及案例实现
- Apollo 11登月代码成Github热度第一:14.5万行,获星3.3万
- CodeForces - 1454E Number of Simple Paths(基环树+思维)
- 跟我学 Java 8 新特性之 Stream 流(六)收集
- 爬虫小案例:基于Bing关键词批量下载图片
- python播放音乐同步歌词_使用Python下载歌词并嵌入歌曲文件中的实现代码
- matlab的conv2、imfilter、filter2
- 190316每日一句
- fckeditor java 使用方法_FCKeditor使用说明
- yb3防爆电机型号含义_YBX3防爆电机
- 计算机蓝屏原因原理,蓝屏炸弹
- HikariDataSource 配置详解
- juc并发编程学习(一)
- winsat查询windwos里disk、mem、cpu性能
- 如何删除360奇安信软件
- 任正非揭秘华为鸿蒙,任正非揭秘!华为鸿蒙系统,比安卓、苹果系统快,为物联网而生...
- 数据系统读写权衡的一知半解