EmSAT Achieve Exam  >  EmSAT Achieve Notes  >  C++ for EmSAT Achieve  >  Code: Bubble sort

Code: Bubble sort | C++ for EmSAT Achieve PDF Download

Sorting is a fundamental operation in computer programming, and one of the simplest sorting algorithms is Bubble Sort. Bubble Sort is easy to understand and implement, making it an excellent starting point for beginners learning sorting algorithms in C++. In this article, we'll explore Bubble Sort in detail, along with multiple examples and code explanations.

Understanding Bubble Sort

Bubble Sort is a comparison-based sorting algorithm that repeatedly steps through the list to be sorted, compares adjacent elements, and swaps them if they are in the wrong order. This process is repeated until the entire list is sorted. The name "Bubble Sort" comes from the way smaller elements "bubble" to the top of the list during each pass.

Bubble Sort Algorithm

Here's a step-by-step breakdown of the Bubble Sort algorithm:

  • Start with an unsorted list of elements.
  • Compare the first and second elements. If they are in the wrong order, swap them.
  • Move to the next pair of elements and repeat the comparison and swapping process.
  • Continue this process until you reach the end of the list.
  • Repeat steps 2-4 for the remaining passes until the list is sorted.

Now let's dive into some example code to see how Bubble Sort works in practice.

Bubble Sort Code in C++

#include <iostream>

using namespace std;


void bubbleSort(int arr[], int size) {

  for (int i = 0; i < size - 1; i++) {

    for (int j = 0; j < size - i - 1; j++) {

      if (arr[j] > arr[j + 1]) {

        // Swap arr[j] and arr[j+1]

        int temp = arr[j];

        arr[j] = arr[j + 1];

        arr[j + 1] = temp;

      }

    }

  }

}


int main() {

  int arr[] = {5, 2, 8, 12, 3};

  int size = sizeof(arr) / sizeof(arr[0]);


  cout << "Original array: ";

  for (int i = 0; i < size; i++) {

    cout << arr[i] << " ";

  }


  bubbleSort(arr, size);


  cout << "\nSorted array: ";

  for (int i = 0; i < size; i++) {

    cout << arr[i] << " ";

  }


  return 0;

}

Code Explanation

  • We start by defining the bubbleSort function, which takes an array (arr) and its size (size) as parameters.
  • The outer for loop runs from 0 to size - 1, representing the number of passes required to sort the array.
  • Inside the outer loop, we have another nested for loop that iterates from 0 to size - i - 1. The size - i - 1 ensures that we don't compare elements that are already in their correct sorted positions.
  • In the inner loop, we compare adjacent elements (arr[j] and arr[j + 1]) and swap them if arr[j] is greater than arr[j + 1].
  • Finally, we print the original and sorted arrays using the cout statement.

Let's see the output of the above code:

Original array: 5 2 8 12 3 

Sorted array: 2 3 5 8 12

As you can see, the Bubble Sort algorithm successfully sorted the array in ascending order.

Conclusion

Bubble Sort is a simple yet effective sorting algorithm that can be easily understood and implemented by beginners. It serves as a great starting point for learning about sorting algorithms in C++. By grasping the concepts and examining the code examples in this article, you should now have a solid understanding of how Bubble Sort works.

The document Code: Bubble sort | C++ for EmSAT Achieve is a part of the EmSAT Achieve Course C++ for EmSAT Achieve.
All you need of EmSAT Achieve at this link: EmSAT Achieve
70 videos|45 docs|15 tests

Top Courses for EmSAT Achieve

70 videos|45 docs|15 tests
Download as PDF
Explore Courses for EmSAT Achieve exam

Top Courses for EmSAT Achieve

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

Semester Notes

,

study material

,

past year papers

,

Important questions

,

Code: Bubble sort | C++ for EmSAT Achieve

,

Free

,

Code: Bubble sort | C++ for EmSAT Achieve

,

pdf

,

Objective type Questions

,

Code: Bubble sort | C++ for EmSAT Achieve

,

Summary

,

mock tests for examination

,

practice quizzes

,

Sample Paper

,

Viva Questions

,

Exam

,

shortcuts and tricks

,

Extra Questions

,

ppt

,

Previous Year Questions with Solutions

,

MCQs

,

video lectures

;