递归判断元素是否在数组中

简介:
#include <iostream>
using namespace std;
//if it is found, return the index of the array
//if not fount, return -1
void findInArray(char arr[],  char x, int index, int size, int& pos);

int main()
{
char arr[] = "abcdefghijk";
int size = sizeof(arr) / sizeof(char);
    int pos;
char x;
cout << "Enter the element you want to find: " ;
cin >> x;

    findInArray(arr, x, 0, size, pos);
if ( pos == -1)
    cout << x << " is not found in the array!" << endl;
    else
        cout << x << " is found in the " << pos << "th index of the array!" << endl;
    return 0;
}
void findInArray(char arr[], char x, int index, int size, int& pos)
{
if (x == arr[index])
pos = index;
else if (index >= size)
        pos = -1;
else
        findInArray(arr, x, index+1, size, pos);
}
目录
相关文章
|
人工智能
如何判断数组中元素是否完全不同
如何判断一个4*4的数组中所有的元素都不相同,一个4*4的二维数组,判断数组中每个元素是否相同 如相同就返回0 都不相同就返回1 int fun(int a[4][4]) { int i = 0, j = 0; int m = 0, n = 0; for (i = 0; i ...
769 0
|
算法 C语言 C++
【二分查找】34. 在排序数组中查找元素的第一个和最后一个位置
二分查找是一种高效的查找算法,其时间复杂度为 O(log n)。在许多情况下,我们需要在一个有序数组中找到某个目标值的搜索范围。本文将介绍一种基于二分查找的搜索范围查找算法,该算法能够快速找到目标值在数组中的起始和结束位置。
116 0
|
算法
【算法专题突破】二分查找 - 在排序数组中查找元素的第一个和最后一个位置(17)
【算法专题突破】二分查找 - 在排序数组中查找元素的第一个和最后一个位置(17)
98 0
|
7月前
|
算法
【算法】二分查找——在排序数组中查找元素的第一个和最后一个位置
【算法】二分查找——在排序数组中查找元素的第一个和最后一个位置
1211:判断元素是否存在
1211:判断元素是否存在
142 0
|
算法
判断元素是否存在
题目链接:http://noi.openjudge.cn/ch0113/41/  总时间限制: 1000ms 内存限制: 65536kB 描述 有一个集合M是这样生成的: (1) 已知 k 是集合 M 的元素; (2) 如果 y 是 M 的元素,那么, 2y+1 和 3y+1 都是 M 的元素; (3) 除了上述二种情况外,没有别的数能够成为 M 的一个元素。
1118 0
|
7月前
|
算法 索引
LeetCode第34题在排序数组中查找元素的第一个和最后一个位置
这篇文章介绍了LeetCode第34题"在排序数组中查找元素的第一个和最后一个位置"的解题方法,通过使用双指针法从数组两端向中间同时查找目标值,有效地找到了目标值的首次和最后一次出现的索引位置。
LeetCode第34题在排序数组中查找元素的第一个和最后一个位置
LeetCode-34 在排序数组中查找元素的第一个和最后一个位置
LeetCode-34 在排序数组中查找元素的第一个和最后一个位置
|
10月前
|
算法
leetcode-34:在排序数组中查找元素的第一个和最后一个位置
leetcode-34:在排序数组中查找元素的第一个和最后一个位置
46 0