Bubble Sort
Initial Array
[6, 2, 9, 0, 1, 5, 8, 7]
Step-by-Step Process
First Pass:
Compare \(6\) and \(2\):
\(6 > 2\) ? Swap ? [2, 6, 9, 0, 1, 5, 8, 7]
Compare \(6\) and \(9\):
\(6 < 9\) ? No swap ? [2, 6, 9, 0, 1, 5, 8, 7]
Compare \(9\) and \(0\):
\(9 > 0\) ? Swap ? [2, 6, 0, 9, 1, 5, 8, 7]
Compare \(9\) and \(1\):
\(9 > 1\) ? Swap ? [2, 6, 0, 1, 9, 5, 8, 7]
Compare \(9\) and \(5\):
\(9 > 5\) ? Swap ? [2, 6, 0, 1, 5, 9, 8, 7]
Compare \(9\) and \(8\):
\(9 > 8\) ? Swap ? [2, 6, 0, 1, 5, 8, 9, 7]
Compare \(9\) and \(7\):
\(9 > 7\) ? Swap ? [2, 6, 0, 1, 5, 8, 7, 9]
End of First Pass: Largest element \(9\) has bubbled to the last position.
Array after first pass: [2, 6, 0, 1, 5, 8, 7, 9]
Second Pass:
Compare \(2\) and \(6\):
\(2 < 6\) ? No swap ? [2, 6, 0, 1, 5, 8, 7, 9]
Compare \(6\) and \(0\):
\(6 > 0\) ? Swap ? [2, 0, 6, 1, 5, 8, 7, 9]
Compare \(6\) and \(1\):
\(6 > 1\) ? Swap ? [2, 0, 1, 6, 5, 8, 7, 9]
Compare \(6\) and \(5\):
\(6 > 5\) ? Swap ? [2, 0, 1, 5, 6, 8, 7, 9]
Compare \(6\) and \(8\):
\(6 < 8\) ? No swap ? [2, 0, 1, 5, 6, 8, 7, 9]
Compare \(8\) and \(7\):
\(8 > 7\) ? Swap ? [2, 0, 1, 5, 6, 7, 8, 9]
End of Second Pass: Largest element \(8\) is now in its correct position.
Array after second pass: [2, 0, 1, 5, 6, 7, 8, 9]
Third Pass:
Compare \(2\) and \(0\):
\(2 > 0\) ? Swap ? [0, 2, 1, 5, 6, 7, 8, 9]
Compare \(2\) and \(1\):
\(2 > 1\) ? Swap ? [0, 1, 2, 5, 6, 7, 8, 9]
Compare \(2\) and \(5\):
\(2 < 5\) ? No swap ? [0, 1, 2, 5, 6, 7, 8, 9]
Compare \(5\) and \(6\):
\(5 < 6\) ? No swap ? [0, 1, 2, 5, 6, 7, 8, 9]
Compare \(6\) and \(7\):
\(6 < 7\) ? No swap ? [0, 1, 2, 5, 6, 7, 8, 9]
End of Third Pass: The next largest element \(7\) is now in its correct position.
Array after third pass: [0, 1, 2, 5, 6, 7, 8, 9]
Fourth Pass:
Compare \(0\) and \(1\):
\(0 < 1\) ? No swap ? [0, 1, 2, 5, 6, 7, 8, 9]
Compare \(1\) and \(2\):
\(1 < 2\) ? No swap ? [0, 1, 2, 5, 6, 7, 8, 9]
Compare \(2\) and \(5\):
\(2 < 5\) ? No swap ? [0, 1, 2, 5, 6, 7, 8, 9]
Compare \(5\) and \(6\):
\(5 < 6\) ? No swap ? [0, 1, 2, 5, 6, 7, 8, 9]
Compare \(6\) and \(7\):
\(6 < 7\) ? No swap ? [0, 1, 2, 5, 6, 7, 8, 9]
End of Fourth Pass: The array remains sorted, indicating that sorting is complete.
Array after fourth pass: [0, 1, 2, 5, 6, 7, 8, 9]