首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在vector<float> C++中查找特定的第一个和最后一个索引

在C++中,可以使用以下方法在vector<float>中查找特定的第一个和最后一个索引:

  1. 查找特定值的第一个索引:
    • 使用std::find函数来查找特定值的第一个索引。该函数需要包含<algorithm>头文件。
    • 示例代码:#include <iostream> #include <vector> #include <algorithm>
代码语言:txt
复制
 int main() {
代码语言:txt
复制
     std::vector<float> numbers = {1.2, 3.4, 5.6, 7.8, 9.0, 3.4, 5.6};
代码语言:txt
复制
     float target = 3.4;
代码语言:txt
复制
     auto it = std::find(numbers.begin(), numbers.end(), target);
代码语言:txt
复制
     if (it != numbers.end()) {
代码语言:txt
复制
         int index = std::distance(numbers.begin(), it);
代码语言:txt
复制
         std::cout << "First index of " << target << ": " << index << std::endl;
代码语言:txt
复制
     } else {
代码语言:txt
复制
         std::cout << "Target value not found." << std::endl;
代码语言:txt
复制
     }
代码语言:txt
复制
     return 0;
代码语言:txt
复制
 }
代码语言:txt
复制
 ```
  • 优势:简单易用,适用于小规模数据集。
  • 应用场景:在vector中查找特定值的第一个索引。
  1. 查找特定值的最后一个索引:
    • 使用std::find函数结合std::reverse_iterator来查找特定值的最后一个索引。同样需要包含<algorithm>头文件。
    • 示例代码:#include <iostream> #include <vector> #include <algorithm>
代码语言:txt
复制
 int main() {
代码语言:txt
复制
     std::vector<float> numbers = {1.2, 3.4, 5.6, 7.8, 9.0, 3.4, 5.6};
代码语言:txt
复制
     float target = 3.4;
代码语言:txt
复制
     auto it = std::find(std::make_reverse_iterator(numbers.end()), std::make_reverse_iterator(numbers.begin()), target);
代码语言:txt
复制
     if (it != std::make_reverse_iterator(numbers.begin())) {
代码语言:txt
复制
         int index = std::distance(numbers.begin(), --it.base());
代码语言:txt
复制
         std::cout << "Last index of " << target << ": " << index << std::endl;
代码语言:txt
复制
     } else {
代码语言:txt
复制
         std::cout << "Target value not found." << std::endl;
代码语言:txt
复制
     }
代码语言:txt
复制
     return 0;
代码语言:txt
复制
 }
代码语言:txt
复制
 ```
  • 优势:简单易用,适用于小规模数据集。
  • 应用场景:在vector中查找特定值的最后一个索引。
  1. 查找特定值的所有索引:
    • 使用自定义的循环来查找特定值的所有索引。
    • 示例代码:#include <iostream> #include <vector>
代码语言:txt
复制
 int main() {
代码语言:txt
复制
     std::vector<float> numbers = {1.2, 3.4, 5.6, 7.8, 9.0, 3.4, 5.6};
代码语言:txt
复制
     float target = 3.4;
代码语言:txt
复制
     std::vector<int> indices;
代码语言:txt
复制
     for (int i = 0; i < numbers.size(); i++) {
代码语言:txt
复制
         if (numbers[i] == target) {
代码语言:txt
复制
             indices.push_back(i);
代码语言:txt
复制
         }
代码语言:txt
复制
     }
代码语言:txt
复制
     if (!indices.empty()) {
代码语言:txt
复制
         std::cout << "Indices of " << target << ": ";
代码语言:txt
复制
         for (int index : indices) {
代码语言:txt
复制
             std::cout << index << " ";
代码语言:txt
复制
         }
代码语言:txt
复制
         std::cout << std::endl;
代码语言:txt
复制
     } else {
代码语言:txt
复制
         std::cout << "Target value not found." << std::endl;
代码语言:txt
复制
     }
代码语言:txt
复制
     return 0;
代码语言:txt
复制
 }
代码语言:txt
复制
 ```
  • 优势:可以找到特定值的所有索引。
  • 应用场景:在vector中查找特定值的所有索引。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

3分41秒

081.slices库查找索引Index

4分36秒

PS小白教程:如何在Photoshop中制作雨天玻璃文字效果?

4分29秒

MySQL命令行监控工具 - mysqlstat 介绍

1分30秒

基于强化学习协助机器人系统在多个操纵器之间负载均衡。

14分30秒

Percona pt-archiver重构版--大表数据归档工具

领券