📅  最后修改于: 2023-12-03 15:08:52.160000             🧑  作者: Mango
在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
为要查找的数字。返回值为数字最后一次出现的索引位置。
这两种方法都可以快速查找数组中数字的最后一个索引,具体使用哪种方法取决于实际情况。