C# - Perform Searching using Predefined Functions
Last Updated :
28 May, 2022
Given an array, now our task is to perform searching an element in an array using predefined functions in C#. So, the best searching technique is Binary search and will search the given element in an array using predefined functions. Binary search is an efficient algorithm that will work only on sorted sets of elements. So if we want to use binary search, then the array must be sorted, otherwise, it will give wrong results. So to sort the array we use the Sort() function. Binary search will search in a sorted array by repeatedly dividing the search interval in half. It will begin with an interval covering the whole array. If the element of the search is less than the item in the middle of the interval, narrow the interval to the lower half. Else narrow it to the upper half. It will check repeatedly until the element is found or the interval is empty. We can perform a binary search using BinarySearch() function.
Syntax:
Array.BinarySearch(array_name, (Object)element)
where array_name is the input array and element is the element to be searched with the Object data type.
Example:
Input:
Array size: 5
Elements: {3, 4, 5, 2, 1}
Element to Search: 4
Output:
Present in 3rd position
Input:
Array size: 1
Elements: {1}
Element to Search: 1
Output:
Present in 0 th position
Approach:
- Read the array size from the user.
- Read the elements into an array from the user.
- Sort the array using Sort() function.
- Read the element to be searched in the given array from the user.
- Get the element in an array using Binary search function.
- Display the specified element along with its position in the array.
Example:
C#
// C# program to search elements in the
// array using predefined functions
using System;
class GFG{
public static void Main()
{
Console.WriteLine("Enter the size of array ");
// Read the array size
string n = Console.ReadLine();
int data = Int32.Parse(n);
// Declare an array
int[] array1 = new int[data];
Console.WriteLine("Enter data :");
for(int i = 0; i < data; i++)
{
string s = Console.ReadLine();
array1[i] = Int32.Parse(s);
}
// Sort an array by using Sort() function
Array.Sort(array1);
// Read a number to search an array
Console.WriteLine("Search a number : ");
string search = Console.ReadLine();
int data2 = Int32.Parse(search);
// Apply BinarySearch() function to
// search the specified element
int data3 = Array.BinarySearch(array1,
(Object)data2);
// Display the position of the slement
Console.WriteLine("Element {1} is present in {0} position",
data3, array1[data3]);
}
}
Output:
Enter the size of array
5
Enter data :
1
4
2
7
8
Search a number :
2
Element 2 is present in 1 position
Time Complexity: O(N logN), where N represents the size of the given array.
Auxiliary Space: O(1), no extra space is required, so it is a constant.
Similar Reads
C++ Program For Sentinel Linear Search The Sentinal linear search is a version of linear search where the last element of the array is replaced by a value to be searched. This helps in reducing the number of comparisons made to check for array boundaries and hence, improving the performance. In this article, we will discuss the sentinal
7 min read
C Program For Sentinel Linear Search Sentinel Linear Search is basically a variation of the traditional linear search algorithm. It is designed to reduce the number of comparisons required to find a specific target value within an array or list. In this article, we will learn how to implement Sentinal Linear Search in C, see how it wor
8 min read
C++ Program to Implement strpbrk() Function strpbrk() is a string function in C++ STL that takes in two strings and finds the first occurrence of any character of string2 in string1. This function returns the pointer to the character of string2 in string1 if there is any, otherwise returns NULL. Syntax: char* strpbrk(const char *str1, const c
3 min read
Fzf - File Search From Linux Terminal Fzf is a command-line general-purpose fuzzy finder tool. It is somewhat like grep. It is a cross-platform command-line tool, that helps you to search and open files quickly. Furthermore, it is open-sourced portable with no dependencies. It has supports for Vim/Neo vim plugin, key bindings, and fuzzy
3 min read
C# Program for KMP Algorithm for Pattern Searching Given a text txt[0..n-1] and a pattern pat[0..m-1], write a function search(char pat[], char txt[]) that prints all occurrences of pat[] in txt[]. You may assume that n > m. Examples: Input: txt[] = "THIS IS A TEST TEXT" pat[] = "TEST" Output: Pattern found at index 10 Input: txt[] = "AABAACAADAA
3 min read
Boyer-Moore Algorithm for Pattern Searching in C In this article, we will learn the Boyer-Moore Algorithm, a powerful technique for pattern searching in strings using C programming language. What is the Boyer-Moore Algorithm?The Boyer-Moore Algorithm is a pattern searching algorithm that efficiently finds occurrences of a pattern within a text. It
7 min read