Учитывая несортированный массив и элемент x, найдите x в данном массиве. Напишите для этого рекурсивный код C. Если элемент отсутствует, верните -1.
Рекомендуется: сначала попробуйте свой подход в {IDE}, прежде чем переходить к решению.
Approach : The idea is to compare x with first element in arr[]. If element is found at first position, return it. Else recur for remaining array and x.
C++
#include<bits/stdc++.h>
using namespace std;
int recSearch(int arr[], int l,
int r, int x)
{
if (r < l)
return -1;
if (arr[l] == x)
return l;
if (arr[r] == x)
return r;
return recSearch(arr, l + 1,
r - 1, x);
}
int main()
{
int arr[] = {12, 34, 54, 2, 3}, i;
int n = sizeof(arr) / sizeof(arr[0]);
int x = 3;
int index = recSearch(arr, 0, n - 1, x);
if (index != -1)
cout << "Element " << x
<< " is present at index "
<< index;
else
cout << "Element" << x
<< " is not present" ;
return 0;
}
|
C
#include<stdio.h>
int recSearch(int arr[], int l, int r, int x)
{
if (r < l)
return -1;
if (arr[l] == x)
return l;
if (arr[r] == x)
return r;
return recSearch(arr, l+1, r-1, x);
}
int main()
{
int arr[] = {12, 34, 54, 2, 3}, i;
int n = sizeof(arr)/sizeof(arr[0]);
int x = 3;
int index = recSearch(arr, 0, n-1, x);
if (index != -1)
printf("Element %d is present at index %d", x, index);
else
printf("Element %d is not present", x);
return 0;
}
|
Java
class Test
{
static int arr[] = {12, 34, 54, 2, 3};
static int recSearch(int arr[], int l, int r, int x)
{
if (r < l)
return -1;
if (arr[l] == x)
return l;
if (arr[r] == x)
return r;
return recSearch(arr, l+1, r-1, x);
}
public static void main(String[] args)
{
int x = 3;
int index = recSearch(arr, 0, arr.length-1, x);
if (index != -1)
System.out.println("Element " + x + " is present at index " +
index);
else
System.out.println("Element " + x + " is not present");
}
}
|
Python
def recSearch( arr, l, r, x):
if r < l:
return -1
if arr[l] == x:
return l
if arr[r] == x:
return r
return recSearch(arr, l+1, r-1, x)
arr = [12, 34, 54, 2, 3]
n = len(arr)
x = 3
index = recSearch(arr, 0, n-1, x)
if index != -1:
print "Element", x,"is present at index %d" %(index)
else:
print "Element %d is not present" %(x)
|
C#
using System;
static class Test
{
static int []arr = {12, 34, 54, 2, 3};
static int recSearch(int []arr, int l, int r, int x)
{
if (r < l)
return -1;
if (arr[l] == x)
return l;
if (arr[r] == x)
return r;
return recSearch(arr, l+1, r-1, x);
}
public static void Main(String[] args)
{
int x = 3;
int index = recSearch(arr, 0, arr.Length-1, x);
if (index != -1)
Console.Write("Element " + x +
" is present at index " + index);
else
Console.Write("Element " + x +
" is not present");
}
}
|
PHP
<?php
function recSearch($arr, int $l,
int $r, int $x)
{
if ($r < $l)
return -1;
if ($arr[$l] == $x)
return $l;
if ($arr[$r] == $x)
return $r;
return recSearch($arr, $l+1, $r-1, $x);
}
$arr = array(12, 34, 54, 2, 3); $i;
$n = count($arr);
$x = 3;
$index = recSearch($arr, 0, $n - 1, $x);
if ($index != -1)
echo "Element"," ", $x," ",
"is present at index ", $index;
else
echo "Element is not present", $x;
?>
|
Javascript
<script>
function recSearch(arr, l, r, x)
{
if (r < l)
return -1;
if (arr[l] == x)
return l;
if (arr[r] == x)
return r;
return recSearch(arr, l+1, r-1, x);
}
let arr = [12, 34, 54, 2, 3];
let i;
let n = arr.length;
let x = 23;
let index = recSearch(arr, 0, n - 1, x);
if (index != -1){
document.write(`Element ${x} is present at index ${index}`);
}
else{
document.write("Element is not present " + x);
}
</script>
|
Выход:
Элемент 3 присутствует в индексе 4
Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше
Вниманию читателя! Не прекращайте учиться сейчас. Освойте все важные концепции DSA с помощью самостоятельного курса DSA по приемлемой для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
Если вы хотите посещать живые занятия с отраслевыми экспертами, пожалуйста, обращайтесь к Geeks Classes Live и Geeks Classes Live USA.