Skip to content

Commit 7bcb9a4

Browse files
Added optimized version of bubble sort with early exit feature
1 parent b9c118f commit 7bcb9a4

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

sorting/optimized_bubble_sort.cpp

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#include <iostream>
2+
using namespace std;
3+
4+
void bubbleSort(int arr[], int n) {
5+
bool swapped;
6+
for (int i = 0; i < n - 1; i++) {
7+
swapped = false;
8+
9+
for (int j = 0; j < n - i - 1; j++) {
10+
if (arr[j] > arr[j + 1]) {
11+
swap(arr[j], arr[j + 1]);
12+
swapped = true;
13+
}
14+
}
15+
16+
// If no elements were swapped, array is already sorted
17+
if (swapped == false)
18+
break;
19+
}
20+
}
21+
22+
int main() {
23+
int arr[] = {5, 1, 4, 2, 8};
24+
int n = sizeof(arr)/sizeof(arr[0]);
25+
26+
bubbleSort(arr, n);
27+
28+
for (int i = 0; i < n; i++)
29+
cout << arr[i] << " ";
30+
31+
return 0;
32+
}

0 commit comments

Comments
 (0)