diff --git a/C#/ Recursive Bubble Sort b/C#/ Recursive Bubble Sort new file mode 100644 index 0000000..5cb4d6c --- /dev/null +++ b/C#/ Recursive Bubble Sort @@ -0,0 +1,69 @@ +// Recursive Bubble Sort +bubbleSort(arr[], n) +{ + for (i = 0; i < n-1; i++) + + // Last i elements are already in place + for (j = 0; j < n-i-1; j++) + { + if(arr[j] > arr[j+1]) + swap(arr[j], arr[j+1]); + } +} +//example code +// C# program for recursive +// implementation of Recursive Bubble sort +using System; + +class Recursive_Bubble_Sort +{ + +// A function to implement +// bubble sort +static void bubbleSort(int []arr, + int n) +{ + // Base case + if (n == 1) + return; + + int count = 0; + // One pass of bubble + // sort. After this pass, + // the largest element + // is moved (or bubbled) + // to end. + for (int i = 0; i < n - 1; i++) + if (arr[i] > arr[i + 1]) + { + // swap arr[i], arr[i+1] + int temp = arr[i]; + arr[i] = arr[i + 1]; + arr[i + 1] = temp; + count++; + } + //program in c# + // Check if any recursion happens or not + // If any recursion is not happen then return + if (count==0) + return; + + // Largest element is fixed, + // recur for remaining array + bubbleSort(arr, n - 1); +} + +// Driver code +static void Main() +{ + int []arr = {64, 34, 25, + 12, 22, 11, 90}; + + bubbleSort(arr, arr.Length); + + Console.WriteLine("Sorted array : "); + for(int i = 0; i < arr.Length; i++) + Console.Write(arr[i] + " "); +} +} +//this code is contributed by Suryansh Sinha