Department of Computer Science | Institute of Theoretical Computer Science | CADMO

Theory of Combinatorial Algorithms

Prof. Emo Welzl and Prof. Bernd Gärtner

// Programm: bubblesort.h // Sortieren eines Vektors von Zahlen mittels Bubblesort. namespace ifm { void bubble_sort(It b, It e) // PRE: [b,e) ist ein gueltiger range. // POST: Die Elemente in [b,e) sind aufsteigend sortiert. { // Wurden im aktuellen Durchlauf zwei Elemente getauscht? bool swapped = true; while (b != e && swapped) { swapped = false; It prev = b; It cur = prev; while (++cur != e) { if (*cur < *prev) { std::swap(*cur, *prev); swapped = true; } prev = cur; } // Das letzte Element ist jetzt auf jeden Fall korrekt: --e; } } // bubble_sort(b, e) } // namespace ifm