📌  相关文章
📜  如何在C++中查找数组中数字的最后一个索引(1)

📅  最后修改于: 2023-12-03 15:08:52.160000             🧑  作者: Mango

如何在C++中查找数组中数字的最后一个索引?

在C++中,可以使用以下两种方法查找数组中数字的最后一个索引:

方法一

可以使用逆序遍历数组,从最后一个元素开始比较。遇到第一个匹配的数字时,返回该索引值即可。

示例代码如下:

int findLastIndex(int arr[], int n, int num) {
    for(int i = n - 1; i >= 0; i--) {
        if(arr[i] == num) {
            return i;
        }
    }
    return -1; // 未找到
}

其中,arr[]为要查找的数组,n为数组的长度,num为要查找的数字。返回值为数字最后一次出现的索引位置。

方法二

可以使用STL中的std::find_end函数,该函数可以查找指定的子序列中最后一次出现的位置。可将原数组整体作为子序列,从而查找数字最后一次出现的位置。

示例代码如下:

#include <algorithm>

int findLastIndex(int arr[], int n, int num) {
    int* p = std::find_end(arr, arr + n, &num, &num + 1);
    if(p == arr - 1) {
        return -1; // 未找到
    }
    else {
        return p - arr; // 返回索引位置
    }
}

其中,arr[]为要查找的数组,n为数组的长度,num为要查找的数字。返回值为数字最后一次出现的索引位置。

这两种方法都可以快速查找数组中数字的最后一个索引,具体使用哪种方法取决于实际情况。