diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..8a58fcb --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "windows-gcc-x64", + "includePath": [ + "${workspaceFolder}/**" + ], + "compilerPath": "C:/MinGW/bin/gcc.exe", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "windows-gcc-x64", + "compilerArgs": [ + "" + ] + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..8e71335 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": true, + "cwd": "c:/Users/Anubhav/OneDrive/Desktop/New folder/hactoberfest2023", + "program": "c:/Users/Anubhav/OneDrive/Desktop/New folder/hactoberfest2023/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..3e5eb95 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,59 @@ +{ + "C_Cpp_Runner.cCompilerPath": "gcc", + "C_Cpp_Runner.cppCompilerPath": "g++", + "C_Cpp_Runner.debuggerPath": "gdb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", + "C_Cpp_Runner.msvcBatchPath": "", + "C_Cpp_Runner.useMsvc": false, + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic", + "-Wshadow", + "-Wformat=2", + "-Wcast-align", + "-Wconversion", + "-Wsign-conversion", + "-Wnull-dereference" + ], + "C_Cpp_Runner.msvcWarnings": [ + "/W4", + "/permissive-", + "/w14242", + "/w14287", + "/w14296", + "/w14311", + "/w14826", + "/w44062", + "/w44242", + "/w14905", + "/w14906", + "/w14263", + "/w44265", + "/w14928" + ], + "C_Cpp_Runner.enableWarnings": true, + "C_Cpp_Runner.warningsAsError": false, + "C_Cpp_Runner.compilerArgs": [], + "C_Cpp_Runner.linkerArgs": [], + "C_Cpp_Runner.includePaths": [], + "C_Cpp_Runner.includeSearch": [ + "*", + "**/*" + ], + "C_Cpp_Runner.excludeSearch": [ + "**/build", + "**/build/**", + "**/.*", + "**/.*/**", + "**/.vscode", + "**/.vscode/**" + ], + "C_Cpp_Runner.useAddressSanitizer": false, + "C_Cpp_Runner.useUndefinedSanitizer": false, + "C_Cpp_Runner.useLeakSanitizer": false, + "C_Cpp_Runner.showCompilationTime": false, + "C_Cpp_Runner.useLinkTimeOptimization": false, + "C_Cpp_Runner.msvcSecureNoWarnings": false +} \ No newline at end of file diff --git a/Adding-Floyd-cycle-detection-algorithm.cpp b/Adding-Floyd-cycle-detection-algorithm.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Second-Smallest&Second-Largest-Element-in-array.cpp b/Second-Smallest&Second-Largest-Element-in-array.cpp new file mode 100644 index 0000000..58679ce --- /dev/null +++ b/Second-Smallest&Second-Largest-Element-in-array.cpp @@ -0,0 +1,55 @@ +#include +using namespace std; +int secondSmallest(int arr[],int n) +{ + if(n<2) + return -1; + int small = INT_MAX; + int second_small = INT_MAX; + int i; + for(i = 0; i < n; i++) + { + if(arr[i] < small) + { + second_small = small; + small = arr[i]; + } + else if(arr[i] < second_small && arr[i] != small) + { + second_small = arr[i]; + } + } + return second_small; +} +int secondLargest(int arr[],int n) +{ + if(n<2) + return -1; + int large=INT_MIN,second_large=INT_MIN; + int i; + for (i = 0; i < n; i++) + { + if (arr[i] > large) + { + second_large = large; + large = arr[i]; + } + + else if (arr[i] > second_large && arr[i] != large) + { + second_large = arr[i]; + } + } + return second_large; +} + +int main() { + int arr[]={1,2,4,7,7,5}; + int n=sizeof(arr)/sizeof(arr[0]); + int sS=secondSmallest(arr,n); + int sL=secondLargest(arr,n); + cout<<"Second smallest is "< +using namespace std; + +int search(vector& arr, int n, int k) { + int low = 0, high = n - 1; + while (low <= high) { + int mid = (low + high) / 2; + + //if mid points the target + if (arr[mid] == k) return mid; + + //if left part is sorted: + if (arr[low] <= arr[mid]) { + if (arr[low] <= k && k <= arr[mid]) { + //element exists: + high = mid - 1; + } + else { + //element does not exist: + low = mid + 1; + } + } + else { //if right part is sorted: + if (arr[mid] <= k && k <= arr[high]) { + //element exists: + low = mid + 1; + } + else { + //element does not exist: + high = mid - 1; + } + } + } + return -1; +} + +int main() +{ + vector arr = {7, 8, 9, 1, 2, 3, 4, 5, 6}; + int n = 9, k = 1; + int ans = search(arr, n, k); + if (ans == -1) + cout << "Target is not present.\n"; + else + cout << "The index is: " << ans << "\n"; + return 0; +} +