Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Function: bubbleSort
- *
- * Recursively sorts an array of numbers using the bubble sort algorithm
- *
- * Parameters:
- * long long array[]
- * std::size_t size
- */
- void bubbleSort(long long array[], std::size_t size)
- {
- // base case
- if (size == 1)
- return;
- // to check if swap was made after each pass
- bool swapMade{ false };
- for (std::size_t i{ 0 }; i < size - 1; i++)
- {
- if (array[i] > array[i + 1])
- {
- swap(array[i], array[i + 1]);
- swapMade = true;
- }
- }
- // if no swap was made, array is sorted
- if (!swapMade)
- return;
- bubbleSort(array, size - 1);
- }
- /*
- * Function: swap
- *
- * Swaps the value stored at two pointers
- *
- * Parameters:
- * long long* ptrOne
- * long long* ptrTwo
- */
- void swap(long long* ptrOne, long long* ptrTwo)
- {
- long long temp;
- *ptrOne = temp;
- *ptrOne = *ptrTwo;
- *ptrTwo = temp;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement