diff --git a/Wave_Sort.cpp b/Wave_Sort.cpp new file mode 100644 index 0000000..343be50 --- /dev/null +++ b/Wave_Sort.cpp @@ -0,0 +1,50 @@ +// Name: JHALA DEVRAJSINH SHRIPALSINH +// Date: 01/07/2021 +// Purpose: Wave Sort +// Wave form like arr[0]>= arr[1] <= arr[2] >= arr[3] <= arr[4] >= ... + +// Time Complexity: +// O(N/2) === O(N) +// Final time complexity === O(N) + +#include +using namespace std; + +void swap(int arr[], int i, int j) +{ + int temp = arr[i]; + arr[i] = arr[j]; + arr[j] = temp; +} + +void wavesort(int arr[], int n) +{ + for(int i=1; i arr[i-1]) + { + swap(arr,i,i-1); + } + + if(arr[i] > arr[i+1] && i <= n-2) + { + swap(arr, i,i+1); + } + } +} + + + +int main() +{ + + int arr[] = {1,3,4,7,5,6,2}; + wavesort(arr,7); + + for(int i=0;i<7;i++) + { + cout << arr[i] << " "; + } + + return 0; +} \ No newline at end of file