簡體   English   中英

在c ++中排序浮點數組

[英]sort an array of floats in c++

我有一個(4)浮點數的數組,需要按降序對數組進行排序。 我對c ++很陌生,想知道最好的方法是什么?

謝謝。

std::sort與非默認比較器一起使用:

float data[SIZE];
data[0] = ...;
...

std::sort(data, data + size, std::greater<float>());

假設如下:

float my_array[4];

您可以這樣排序:

#include <algorithm>

// ... in your code somewhere
float* first(&my_array[0]);
float* last(first + 4);
std::sort(first, last);

請注意,第二個參數( last )指向一個超過 4個元素數組末尾的參數; 這是將數組末尾傳遞給STL算法的正確方法。 然后你可以打電話給:

std::reverse(first, last);

要反轉數組的內容。 您也可以為sort例程編寫自定義比較器,但我認為這比初級級STL高出一步; 由你決定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM