Skip to content

Commit 4afff4c

Browse files
committed
better sort
1 parent a4e08b8 commit 4afff4c

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

demo/csrc/c/image_segmentation.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,14 @@ int main(int argc, char* argv[]) {
6666
}
6767
// output score
6868
if (result->score) {
69-
std::vector<std::pair<float, int>> score(result->classes);
70-
for (int k = 0; k < result->classes; k++) {
71-
score[k] = {result->score[pos++], k};
72-
}
73-
std::sort(score.begin(), score.end());
74-
*iter = palette[score.back().second];
69+
std::vector<int> idxs(result->classes);
70+
std::iota(idxs.begin(), idxs.end(), 0);
71+
auto k = std::max_element(
72+
idxs.begin(), idxs.end(),
73+
[&](int i, int j) { return result->score[pos + i] < result->score[pos + j]; }) -
74+
idxs.begin();
75+
*iter = palette[k];
76+
pos += result->classes;
7577
}
7678
}
7779

0 commit comments

Comments
 (0)