← Hub
🍸 Cocktail Shaker
Eine Variation von Bubble Sort, die in beide Richtungen läuft. Wie ein Cocktail-Shaker wandert er von links nach rechts und wieder zurück.
Complexity
Zeit:O(n²)
Platz:O(1)
Code Snippet
let swapped = true;
let start = 0, end = n - 1;
while (swapped) {
swapped = false;
for (let i = start; i < end; ++i) {
if (arr[i] > arr[i + 1]) {
[arr[i], arr[i+1]] = [arr[i+1], arr[i]];
swapped = true;
}
}
if (!swapped) break;
swapped = false;
end--;
for (let i = end - 1; i >= start; --i) {
if (arr[i] > arr[i + 1]) {
[arr[i], arr[i+1]] = [arr[i+1], arr[i]];
swapped = true;
}
}
start++;
}