#include <algorithm> // 引入<algorithm>头文件以使用std::sort
// ...
int main() {
// 假设有一个整数数组heights和一个指向数组首元素的指针id
int heights[] = {5, 3, 8, 1, 6};
int *id = heights;
int n = sizeof(heights) / sizeof(heights[0]);
// 使用std::sort对heights数组进行降序排序
std::sort(id, id + n, [&](const auto &i, const auto &j) {
return heights[i] > heights[j];
});
倘若return的数据中为true,则第i位排在第j位前面,若为假,则互换二者位置.结果都是return中的目的结果
// 输出排序后的数组
for (int i = 0; i < n; ++i) {
std::cout << heights[i] << " ";
}
return 0;
}