Sortowanie bąbelkowe

Sortowanie bąbelkowe (program.cpp) ciągu n liczb polega na porównywaniu parami kolejnych liczb i przestawianiu ich, jeśli występują w niewłaściwej kolejności.

https://upload.wikimedia.org/wikipedia/commons/c/c8/Bubble-sort-example-300px.gif

Ciąg wejściowy . [4,2,5,1,7] Każdy wiersz symbolizuje wypchnięcie kolejnego największego elementu na koniec („wypłynięcie największego bąbelka”). Niebieskim kolorem oznaczono końcówkę ciągu już posortowanego.

 

 [\underbrace{\color{Red}4,2}_{4 > 2},5,1,7] \rightarrow [2,\underbrace{\color{OliveGreen}4,5}_{4 < 5},1,7] \rightarrow [2,4,\underbrace{\color{Red}5,1}_{5 > 1},7] \rightarrow [2,4,1,\underbrace{\color{OliveGreen}5,7}_{5 < 7}]

 [\underbrace{\color{OliveGreen}2,4}_{2 < 4},1,5,{\color{Blue}7}] \rightarrow [2,\underbrace{\color{Red}4,1}_{4 > 1},5,{\color{Blue}7}] \rightarrow [2,1,\underbrace{\color{OliveGreen}4,5}_{4 < 5},{\color{Blue}7}]

 [\underbrace{\color{Red}2,1}_{2 > 1},4,{\color{Blue}5},{\color{Blue}7}] \rightarrow [1,\underbrace{\color{OliveGreen}2,4}_{2 < 4},{\color{Blue}5},{\color{Blue}7}]

 [\underbrace{\color{OliveGreen}1,2}_{1 < 2},{\color{Blue}4},{\color{Blue}5},{\color{Blue}7}]

 

 

źródło: Wikipedia