gpt4 book ai didi

c++根据其他 vector 的值对 vector 进行排序,或者更快?

转载 作者:行者123 更新时间:2023-11-27 23:33:34 25 4
gpt4 key购买 nike

还有一些其他帖子是关于根据另一个 vector B 中的值对 vector A 进行排序的。大多数其他答案都讲述了创建一个结构或类以将这些值组合到一个对象中并使用 std::sort。

尽管我对此类解决方案的性能感到好奇,因为我需要优化实现冒泡排序的代码来对这两个 vector 进行排序。我正在考虑使用 vector<pair<int,int>>并对其进行排序。

我正在开发一个 blob 跟踪应用程序(图像分析),我尝试将之前跟踪的 blob 与视频帧中新检测到的 blob 进行匹配,我在视频帧中检查每个帧与几个之前跟踪的帧,当然还有我在之前的帧中发现的 Blob 。我以每秒 60 次的速度执行此操作(我的网络摄像头的速度)。

如有任何优化建议,我们将不胜感激。我尝试优化的代码可以在这里显示:

http://code.google.com/p/projectknave/source/browse/trunk/knaveAddons/ofxBlobTracker/ofCvBlobTracker.cpp?spec=svn313&r=313

重要提示:我忘了提到 vector 的大小永远不会大于 5,并且其中大部分只有 3 个项目并且不会排序(也许我什至可以将其硬编码为 3 个项目?)

谢谢

最佳答案

C++ 提供了很多排序选项,从 std::sort 算法到排序容器,如 std::mapstd::set。您应该始终尝试将这些作为您的第一个解决方案,并且只尝试将“优化的冒泡排序”之类的东西作为最后的手段。

关于c++根据其他 vector 的值对 vector 进行排序,或者更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2961996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com