结构体排序是一个非常重要的语句,不会的话有些题目要超级复杂的方式才能做。
什么时候使用?
如果要把两个数组以其中一个数组的形式排列例如:
价格 | 供应量 |
---|---|
5 | 20 |
9 | 40 |
3 | 10 |
8 | 80 |
6 | 30 |
现在要变为
价格 | 供应量 |
---|---|
3 | 10 |
5 | 20 |
6 | 30 |
8 | 80 |
9 | 40 |
怎么用?
伪代码
#include <iostream>
#include <algorithm>//sort()函数必不可少的库
using namespace std;
struct p{
int price;
int sum;
}a[1000];
//cmp函数是以price降幂排序
int cmp(p a,p b){//这里要用刚刚定义的*p*
return a.price<b.price
}
//cmp131231函数是以price升幂排序
int cmp131231(p a,p b){//同上
int main(){
sort(a,a+5,cmp);//这里5可以替换成任何数,函数名随意,一般用cmp
sort(a,a+5,cmp131231);
}