书写sort()规则
情况一:数组排序
int A[100];
bool cmp1(int a,int b)//int为数组数据类型
{
return a>b;//降序排列
//return a<b;//默认的升序排列
}
sort(A,A+100,cmp1);
情况二:结构体排序
Student Stu[100];
bool cmp2(Student a,Student b)
{
return a.id>b.id;//按照学号降序排列
}
sort(Stu,Stu+100,cmp2);
具体sort的排序方法:(72条消息) C++ 中的sort()排序函数原理、用法看这一篇就够了_c++排序函数_猿六凯的博客-CSDN博客
知识点:
1.书写sort的结构体排序规则
2.不要忘了 getchar(); 吸收回车
#include <cstdio>
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
struct Book {
char Book[1000];
float Price;
} books[10], bt[10];
bool cmp(Book x, Book y)
{
return x.Price < y.Price;
}
int main() {
int n;
cin >> n;
if (n == 0) return 0;
for (int i = 0; i < n; i++) {
getchar();
cin.getline(books[i].Book, sizeof(books[i].Book));
scanf("%f", &books[i].Price);
}
sort(books, books + n, cmp);
for (int i = 0; i < n; i++) {
printf("%s %.1f\n", books[i].Book, books[i].Price);
}
return 0;
}