From b9c0727b786e7bc64d6b9dd6b1c9f2eea9536353 Mon Sep 17 00:00:00 2001 From: vishvas04 Date: Fri, 7 Mar 2025 21:49:28 +0530 Subject: [PATCH] Added the JS code on how to perform Linear Search and also created a test file where all the test cases are being mentioned under the searching folder --- .github/dsa.jpeg | Bin 97089 -> 97088 bytes .github/logo.png | Bin 9732 -> 9730 bytes .../LinearSearch/LinearSearch.test.js | 25 ++++++++++++++++++ src/_Searching_/LinearSearch/index.js | 11 ++++++++ 4 files changed, 36 insertions(+) create mode 100644 src/_Searching_/LinearSearch/LinearSearch.test.js create mode 100644 src/_Searching_/LinearSearch/index.js diff --git a/.github/dsa.jpeg b/.github/dsa.jpeg index 2b9440ab7708ce61d628075dd7501633bfd511fa..43ab762adb4e8d49f3a489d6e511abe5d388e92a 100644 GIT binary patch delta 17 ZcmX^3jrG7c)`l&NVXE81RT*D}0su_N2b%x@ delta 19 ZcmX@`jrHI+)`l&NVXBP0+kwQZPyknR2dDr5 diff --git a/.github/logo.png b/.github/logo.png index bd744de1a52cbdd8ac52d85bf35daa47b5f357be..571687b312972aec20d0869f13dba5bda66efeff 100644 GIT binary patch delta 18 ZcmZqiY4Ty|4DfT`$Xds@xrMJm8~{B21}^{r delta 21 ccmZqjY4Kt04DfU3-N;hM$H=?6iLXH%07;<+NB{r; diff --git a/src/_Searching_/LinearSearch/LinearSearch.test.js b/src/_Searching_/LinearSearch/LinearSearch.test.js new file mode 100644 index 00000000..ed6e368f --- /dev/null +++ b/src/_Searching_/LinearSearch/LinearSearch.test.js @@ -0,0 +1,25 @@ +const {linearSearch} = require('./LinearSearch'); + +describe('Linear Search', () => { + const array = [1, 2, 3, 4, 5, 6, 7, 8]; + describe('When element to find is at 1st position ', () => { + it('Linear search', () => { + expect(linearSearch(array, 1)).toEqual(0); + }); + }); + describe('When element to find is at last position ', () => { + it('Linear search', () => { + expect(linearSearch(array, 8)).toEqual(7); + }); + }); + describe('When element to find is at random position ', () => { + it('Linear search', () => { + expect(linearSearch(array, 3)).toEqual(2); + }); + }); + describe('When element to find is no present in array ', () => { + it('Linear search', () => { + expect(linearSearch(array, 10)).toEqual(null); + }); + }); +}) \ No newline at end of file diff --git a/src/_Searching_/LinearSearch/index.js b/src/_Searching_/LinearSearch/index.js new file mode 100644 index 00000000..55200226 --- /dev/null +++ b/src/_Searching_/LinearSearch/index.js @@ -0,0 +1,11 @@ +function linearSearch(arr, val) { + for (let i = 0; i < arr.length; i++) { + if (arr[i] === val) return i; + } + return null; +} +// MediaSourceHandle.exp +// MediaSourceHandle.expo +module.exports = { + linearSearch +}; \ No newline at end of file