diff --git a/array/bubble_sort.go b/array/bubble_sort.go index 00666ae..5dd2d9c 100644 --- a/array/bubble_sort.go +++ b/array/bubble_sort.go @@ -2,10 +2,13 @@ package array // BubbleSort solves the problem in O(n^2) time and O(1) space. func BubbleSort(input []int) { - for i := range input { - for j := range input { - if input[i] < input[j] { - input[i], input[j] = input[j], input[i] + swapped := true + for swapped { + swapped = false + for i := 1; i < len(input); i++ { + if input[i] < input[i-1] { + input[i], input[i-1] = input[i-1], input[i] + swapped = true } } }