π One-stop destination for all your technical interview Preparation π
void bubbleSort(vector<int>& v)
{
int n = v.size();
for (int i = 0; i < n - 1; i++) { // till n-1
// Last i elements are already in place
for (int j = 0; j < n - i - 1; j++) { // till n-i-1
if (v[j] > v[j + 1]) {
swap(v[j], v[j + 1]);
}
}
}
}
flag
to check if the array is already sorted.void bubbleSort(vector<int>& v)
{
int n = v.size();
bool swapped = false;
for (int i = 0; i < n; i++) {
swapped = false;
for (int j = 0; j < n - 1 - i; j++) {
if (v[j] > v[j + 1]) {
swap(v[j], v[j + 1]);
swapped = true;
}
}
if (!swapped) {
break;
}
}
}
void bubbleSort(vector<int>& v, int n)
{
// Recursive bubble sort
if (n == 1)
return;
bool swapped = false;
for (int i = 0; i < n - 1; i++) {
if (v[i] > v[i + 1]) {
swap(v[i], v[i + 1]);
swapped = true;
}
}
if (!swapped)
return;
bubbleSort(v, n - 1);
}