diff --git a/SearchingAlgorithms/BinarySearch of Arrays.cpp b/SearchingAlgorithms/BinarySearch of Arrays.cpp new file mode 100644 index 0000000..2b00c7b --- /dev/null +++ b/SearchingAlgorithms/BinarySearch of Arrays.cpp @@ -0,0 +1,70 @@ +#include +#include +#include + + +using namespace std; +//===========BinarySearch for Static Array============= +int BinarySearch(int arr[], int begin, int n, int item){ + if(n == 0) + return -1; + else{ + int lastindex = n + begin -1; + if(item == arr[begin]) + return begin; + else if(item == arr[lastindex]) + return lastindex; + else{ + int middle = (n/2 -1) + begin; + if(item > arr[middle]) + BinarySearch(arr, middle+1 , n/2 , item); + else if(item == arr[middle]) + return arr[middle]; + else + BinarySearch(arr, begin , n/2 , item); + } + } +} + +//===========BinarySearch for Dynamic Array -Vector-========= +int search(int arr[] , int n , int item){ + int index {0}; + return index = BinarySearch(arr, 0 , n , item); +} + +//Binary search for Vector + +int BinarySearch(vector arr, int begin, int n, int item){ + if(n == 0) + return -1; + else{ + int lastindex = n + begin -1; + if(item == arr[begin]) + return begin; + else if(item == arr[lastindex]) + return lastindex; + else{ + int middle = (n/2 -1) + begin; + if(item > arr[middle]) + BinarySearch(arr, middle+1 , n/2 , item); + else if(item == arr[middle]) + return arr[middle]; + else + BinarySearch(arr, begin , n/2 , item); + } + } +} + +int search(vector arr , int item){ + int n = arr.size(); + int index {0}; + return index = BinarySearch(arr, 0 , n , item); +} +int main(){ + int arr[]{1,4,6,9,12,34}; + int n = sizeof(arr) / sizeof(arr[0]); + cout << search(arr ,n, 34) << endl; + cout<<"Hello World!"< $(IntermediateDirectory)/.d + @echo $(Objects0) > $(ObjectsFileList) + $(LinkerName) $(OutputSwitch)$(OutputFile) @$(ObjectsFileList) $(LibPath) $(Libs) $(LinkOptions) + +MakeIntermediateDirs: + @$(MakeDirCommand) "$(ConfigurationName)" + + +$(IntermediateDirectory)/.d: + @$(MakeDirCommand) "$(ConfigurationName)" + +PreBuild: + + +## +## Objects +## +$(IntermediateDirectory)/main.cpp$(ObjectSuffix): main.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/main.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/main.cpp$(DependSuffix) -MM main.cpp + $(CXX) $(IncludePCH) $(SourceSwitch) "E:/Software Engineering/CPP/WorkSpaces/LeetCode/Searching/BinarySearch/main.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/main.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/main.cpp$(PreprocessSuffix): main.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/main.cpp$(PreprocessSuffix) main.cpp + + +-include $(IntermediateDirectory)/*$(DependSuffix) +## +## Clean +## +clean: + $(RM) -r $(ConfigurationName)/ + + diff --git a/SearchingAlgorithms/binarySearch/BinarySearch.project b/SearchingAlgorithms/binarySearch/BinarySearch.project new file mode 100644 index 0000000..030c902 --- /dev/null +++ b/SearchingAlgorithms/binarySearch/BinarySearch.project @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + None + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + None + + + + + + + + + + + + + + + + + + diff --git a/SearchingAlgorithms/binarySearch/BinarySearch.txt b/SearchingAlgorithms/binarySearch/BinarySearch.txt new file mode 100644 index 0000000..aba462f --- /dev/null +++ b/SearchingAlgorithms/binarySearch/BinarySearch.txt @@ -0,0 +1 @@ +Debug/main.cpp.o diff --git a/SearchingAlgorithms/binarySearch/compile_flags.txt b/SearchingAlgorithms/binarySearch/compile_flags.txt new file mode 100644 index 0000000..f20eae9 --- /dev/null +++ b/SearchingAlgorithms/binarySearch/compile_flags.txt @@ -0,0 +1,9 @@ +-IE:\Software Engineering\CPP\WorkSpaces\LeetCode\Searching\BinarySearch +-IC:\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0\include\c++ +-IC:\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0\include\c++\x86_64-w64-mingw32 +-IC:\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0\include\c++\backward +-IC:\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0\include +-IC:\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0\include-fixed +-IC:\mingw64\x86_64-w64-mingw32\include +-target +x86_64-w64-mingw32 diff --git a/SearchingAlgorithms/binarySearch/main.cpp b/SearchingAlgorithms/binarySearch/main.cpp new file mode 100644 index 0000000..2b00c7b --- /dev/null +++ b/SearchingAlgorithms/binarySearch/main.cpp @@ -0,0 +1,70 @@ +#include +#include +#include + + +using namespace std; +//===========BinarySearch for Static Array============= +int BinarySearch(int arr[], int begin, int n, int item){ + if(n == 0) + return -1; + else{ + int lastindex = n + begin -1; + if(item == arr[begin]) + return begin; + else if(item == arr[lastindex]) + return lastindex; + else{ + int middle = (n/2 -1) + begin; + if(item > arr[middle]) + BinarySearch(arr, middle+1 , n/2 , item); + else if(item == arr[middle]) + return arr[middle]; + else + BinarySearch(arr, begin , n/2 , item); + } + } +} + +//===========BinarySearch for Dynamic Array -Vector-========= +int search(int arr[] , int n , int item){ + int index {0}; + return index = BinarySearch(arr, 0 , n , item); +} + +//Binary search for Vector + +int BinarySearch(vector arr, int begin, int n, int item){ + if(n == 0) + return -1; + else{ + int lastindex = n + begin -1; + if(item == arr[begin]) + return begin; + else if(item == arr[lastindex]) + return lastindex; + else{ + int middle = (n/2 -1) + begin; + if(item > arr[middle]) + BinarySearch(arr, middle+1 , n/2 , item); + else if(item == arr[middle]) + return arr[middle]; + else + BinarySearch(arr, begin , n/2 , item); + } + } +} + +int search(vector arr , int item){ + int n = arr.size(); + int index {0}; + return index = BinarySearch(arr, 0 , n , item); +} +int main(){ + int arr[]{1,4,6,9,12,34}; + int n = sizeof(arr) / sizeof(arr[0]); + cout << search(arr ,n, 34) << endl; + cout<<"Hello World!"<