Bubble sort - это особый алгоритм - на самом деле не имеет смысла спрашивать, можно ли его оптимизировать, чтобы получить желаемое свойство.Он также имеет сложность O (n ^ 2), поэтому его редко используют.
Существуют другие алгоритмы сортировки, такие как сортировка выбора, которые будут иметь свойство, близкое к желаемому. Выбор сортировки гарантирует, что на i-м проходе минимальные элементы i находятся в правильных позициях.Однако сортировка выбора также является O (n ^ 2), и ее следует избегать, если вы планируете сортировать приличный объем данных.
Как и Basile и Jan, я рекомендую изучить более эффективный и стандартный алгоритм сортировки, быстрая сортировка,Быстрая сортировка очень широко используется и доступна в стандартной библиотеке языка C. Википедия описание алгоритма относительно сжато;поиск в Google также даст много анимированных версий быстрой сортировки, что может быть очень полезно для изучения алгоритма.