Skip to content

Commit 302b33e

Browse files
committed
Added an optimized bubble sort in sorts
1 parent 3aafade commit 302b33e

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

sorting/bubble_sort_optimized.cpp

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
2+
/*This version of bubble sort will reduce the number of passes needed if average cases and also the number od swaps needed in each pass which optimize the algorithm*/
3+
4+
5+
#include <iostream>
6+
#include <vector>
7+
using namespace std;
8+
9+
vector<int>& bubble_sort(vector<int>& nums){
10+
int flag=0;
11+
int temp;
12+
for(int i=0; i<nums.size()-1;i++){
13+
flag=0;
14+
for(int j=0; j<nums.size()-1-i;j++){
15+
if(nums[j]>nums[j+1]){
16+
temp=nums[j];
17+
nums[j]=nums[j+1];
18+
nums[j+1]=temp;
19+
flag=1;
20+
}
21+
}
22+
if(flag==0){
23+
break;
24+
}
25+
}
26+
return nums;
27+
}
28+
29+
30+
int main() {
31+
vector<int> v={2,8,1,6,2,0,3,6};
32+
v=bubble_sort(v);
33+
for(int i=0;i<v.size();i++){
34+
cout<<v.at(i)<<endl;
35+
}
36+
return 0;
37+
}

0 commit comments

Comments
 (0)