结构体是一种自定义的东西,用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相关推荐

  1. python结构体排序_c++如何对自定义结构体排序

    C++中,当 vector 中的数据类型为基本类型时,我们调用std::sort函数很容易实现 对vector中数据成员的升序或降序排序,然而当vector中的数据类型为自定义结构体类型或者类时,我们 ...

  2. 结构体排序+sort()

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

  3. python结构体排序

    文章目录 一个参数比较 多个参数比较 在c/c++中,遇到结构体排序类似的问题时可以直接用struct定义一个结构体,然后重写cmp函数实现结构体排序,而在python中,没有结构体,那么如何实现结构 ...

  4. C++结构体排序,优先队列,运算符重载

    文章目录 基本数据类型排序 结构体排序 比较函数 重载结构体运算符 优先队列 另外一种方法 优先队列基本知识 基本数据类型排序 #include <algorithm> #include ...

  5. PAT甲级1141 PAT Ranking of Institutions :[C++题解]结构体、排序、哈希表、结构体构造函数、结构体内写函数、排名

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析:和下面这题是一道题: PAT甲级1137 Final Grading:[C++题解]结构体.排序.哈希表.结构体构造函数.结构体内写函 ...

  6. 还是贪心(结构体排序)

    2128: 盾神与积木游戏 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 127 Solved: 39 [Submit][Status][Web Boa ...

  7. sort对结构体排序

    1.排序方法: sort(数组起始指针,数组尾指针,排序规则); 数组起始指针,数组尾指针是左闭右开 排序规则可以省略,也可以用系统的,也可以自己写 2.例子: int a[]={9,2,4,5,10 ...

  8. P1068 分数线划定 洛谷 (C++)(结构体排序)

    简单的结构体排序,代码如下 #include <iostream> #include <cstdio> #include <algorithm> #include ...

  9. C#中结构体排序方法(Array.sort() + ICompare)

    感觉C#比C++麻烦许多,资料也少,找了半天竟然没有找到一个能用的结构体排序. 这是待排序的结构体: public struct la{public int id;public int sb;}; 首 ...

最新文章

  1. F5负载均衡会话保持技术及原理技术白皮书
  2. wamp配置虚拟域名
  3. 充电 | 打开机器学习的大门,需要了解哪些知识?
  4. 文档自动摘要及案例实现
  5. Apollo 11登月代码成Github热度第一:14.5万行,获星3.3万
  6. CodeForces - 1454E Number of Simple Paths(基环树+思维)
  7. 跟我学 Java 8 新特性之 Stream 流(六)收集
  8. 爬虫小案例:基于Bing关键词批量下载图片
  9. python播放音乐同步歌词_使用Python下载歌词并嵌入歌曲文件中的实现代码
  10. matlab的conv2、imfilter、filter2
  11. 190316每日一句
  12. fckeditor java 使用方法_FCKeditor使用说明
  13. yb3防爆电机型号含义_YBX3防爆电机
  14. 计算机蓝屏原因原理,蓝屏炸弹
  15. HikariDataSource 配置详解
  16. juc并发编程学习(一)
  17. winsat查询windwos里disk、mem、cpu性能
  18. 如何删除360奇安信软件
  19. 任正非揭秘华为鸿蒙,任正非揭秘!华为鸿蒙系统,比安卓、苹果系统快,为物联网而生...
  20. 数据系统读写权衡的一知半解

热门文章

  1. FSG2.0脱壳记录
  2. PHP 获取两个日期之间所有日期
  3. Linux 下使用openSSL 生成RSA密钥对
  4. MySQL创建存储过程(CREATE PROCEDURE)
  5. 13、MySQL索引的设计原则
  6. Spring RabbitMQ使用
  7. JavaScript的文档窗口事件
  8. eclipse查看git地址_Git大文件管理:函数计算和OSS支持的Git LFS服务器
  9. python os模块安装_二十七、深入浅出Python中的 os模块
  10. ipv6计算_移动云多款产品通过工信部IPv6支持能力技术测评