Bubble Sort using recursive function:
#include <iostream>
#include <limits>
using namespace std;
void numberInput(int &a)
{
while (!(cin >> a))
{
cout << "Invalid Input. Enter number only: ";
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}
}
void sortInside(int arr[], int size, int i, int j)
{
if (j == size)
{
return;
}
if (arr[i] > arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
sortInside(arr, size, i, j + 1);
}
void sort(int arr[], int size, int i, int j)
{
if (i == size)
{
return;
}
sortInside(arr, size, i, j);
sort(arr, size, i + 1, j + 1);
}
int main()
{
cout << "Enter the size of array: ";
int size;
numberInput(size);
int arr[size];
cout << "Enter Array Elements: ";
for (int i = 0; i < size; i++)
{
numberInput(arr[i]);
}
cout << "Your Array:" << endl;
cout << "[";
for (int i = 0; i < size; i++)
{
cout << arr[i];
if (i != size - 1)
{
cout << " ";
}
}
cout << "]" << endl;
cout << "Sorted Array: ";
cout << endl;
sort(arr, size, 0, 1);
cout << "[";
for (int i = 0; i < size; i++)
{
cout << arr[i];
if (i != size - 1)
{
cout << " ";
}
}
cout << "]" << endl;
cout << endl;
system("pause");
system("cls");
return 0;
}
Comments
Post a Comment