Skip to content

Commit

Permalink
Create bubble sort.c++ YashJain2#2
Browse files Browse the repository at this point in the history
  • Loading branch information
anuj840 authored Oct 19, 2020
1 parent de93cdb commit 71ab4cc
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions Sorting/bubble sort.c++ #2
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
// Optimized implementation of Bubble sort
#include <stdio.h>

void swap(int *xp, int *yp)
{
int temp = *xp;
*xp = *yp;
*yp = temp;
}

// An optimized version of Bubble Sort
void bubbleSort(int arr[], int n)
{
int i, j;
bool swapped;
for (i = 0; i < n-1; i++)
{
swapped = false;
for (j = 0; j < n-i-1; j++)
{
if (arr[j] > arr[j+1])
{
swap(&arr[j], &arr[j+1]);
swapped = true;
}
}

// IF no two elements were swapped by inner loop, then break
if (swapped == false)
break;
}
}

/* Function to print an array */
void printArray(int arr[], int size)
{
int i;
for (i=0; i < size; i++)
printf("%d ", arr[i]);
printf("n");
}

// Driver program to test above functions
int main()
{
int arr[] = {2,5,6,5,34,11,23,0,3};
int n = sizeof(arr)/sizeof(arr[0]);
bubbleSort(arr, n);
printf("Sorted array: \n");
printArray(arr, n);
return 0;
}

0 comments on commit 71ab4cc

Please sign in to comment.