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

简介:
#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);
}
目录
相关文章
|
7月前
|
算法
【算法】二分查找——在排序数组中查找元素的第一个和最后一个位置
【算法】二分查找——在排序数组中查找元素的第一个和最后一个位置
|
4月前
查找数组中最大的元素值
【10月更文挑战第29天】查找数组中最大的元素值。
43 4
|
7月前
|
算法 索引
LeetCode第34题在排序数组中查找元素的第一个和最后一个位置
这篇文章介绍了LeetCode第34题"在排序数组中查找元素的第一个和最后一个位置"的解题方法,通过使用双指针法从数组两端向中间同时查找目标值,有效地找到了目标值的首次和最后一次出现的索引位置。
LeetCode第34题在排序数组中查找元素的第一个和最后一个位置
|
前端开发 数据格式
关于三个数组的判断
关于三个数组的判断
62 0
1211:判断元素是否存在
1211:判断元素是否存在
138 0
|
10月前
在排序数组中查找元素的第一个和最后一个位置
在排序数组中查找元素的第一个和最后一个位置
|
算法
【算法专题突破】二分查找 - 在排序数组中查找元素的第一个和最后一个位置(17)
【算法专题突破】二分查找 - 在排序数组中查找元素的第一个和最后一个位置(17)
87 0
|
算法
使用遍历方法和分治法求两个数组的值
看似简单的姐数组中的最大值实际上体现了不同的思路本文将以比较数组大小为背景,分别展示普通算法和分治法,通过对比来简述分治法。 问题描述 给定一个整数数组,编写一个算法来找到数组中的最大值和最小值。
108 0
|
存储 Java C语言
|
算法 C语言 C++
【二分查找】34. 在排序数组中查找元素的第一个和最后一个位置
二分查找是一种高效的查找算法,其时间复杂度为 O(log n)。在许多情况下,我们需要在一个有序数组中找到某个目标值的搜索范围。本文将介绍一种基于二分查找的搜索范围查找算法,该算法能够快速找到目标值在数组中的起始和结束位置。
102 0